Author Archives: pgfeldman

Phil 4.27.12

8:00 – 6:00 FP

  • Put all my arduino communication work in SVN in my sandbox folder. Pulled down a copy to the laptop to check later
  • PAD lab meeting at 10:00
  • It looks like you really have to be careful with the memory on the UNO. The aJson print() function seems to be sloppy about the strings it creates, even if you re-use the object. I created a function that stitches together the force values inside a JSON compatable string and sends it straight over the wire. That’s been working fine for about an hour now (it’s 5:45). I think I’ll let it burn for the weekend.

Tom 4.26.2012

Start: 10:00

  • Went to get some more wire and smaller bolts
  • Made a bus for to I2c
  • Populated another board
  • 3rd board is mostly populated minus the amp and midi shield
  • The third board only has half the electronics as it only controls one finger instead of two
  • Had some trouble soldering the midi controllers because there was solder stuck in the hole.  The connections don’t look pretty but it trying to get them perfect was breaking the boards.  The midi and reset pins have jumper pads which made them a bit easier to deal with.
  • There are still a few things to do.  I need a ground bus for the shared ground, wires for the midi to arduino, wires for sensors to the arduino, and the amp and mid controller on the third board need to be attached.  I crimped most of the other wires but have not put them in the harness yet, some may need to be redone.  I plan on being in at 7:00 or 7:30 tomorrow to finish this stuff.  It is realistic to expect me to be done with this part by either 10 or 11.

End:  10:00

Mike 4.25.12 + 4.26.12

4.25

  • Usual backups in the morning
  • I came in to find my help ticket for getting connectivity to our production server closed as ‘resolved.’  The server was still unreachable.  Luckily a very nice lady from the customer advocate office asked to confirm the the issue was in fact resolved.  She helped me get the ticket reopened.
  • A guy who saw the email chain from earlier this week and last is trying to help me diagnose the firewall issue.  He asked me to run a continuous ping to the production server so I wrote a batch file that pings and queries port 443 on the production server ever 5 seconds until stopped.  Unfortunately he’s not responding today.
  • While waiting I decided to verify that the CASPORT servlet filter I wrote will work on the production server.  I was mostly worried that connectivity to CASPORT would be a problem.  The library and  test servlet deployed without a problem.  This is probably the most valuable library I’ve ever written: “CASPORT enable your webapp in 5 minutes.”
  • Continuing the spring-security tutorials

4.26

  • Backups
  • The firewall guy is back and responding to my emails.  Started the ping for him and he said he would investigate.  No word back after several hours of waiting and email stating I was about to stop the ping.
  • Back at the mill learning about spring-security.

Phil 4.26.12

9:30 – 4:30 FP

  • Slept as much as possible, hoping to become unsick. I think I feel better today
  • It looks like the serial code is working much better. I was trying to determine the size of character buffer using strlen(). Without a null-terminated string to measure, that just won’t work. Thanks to Tom for pointing this out.
  • Getting the json strings to play nicely with the ajson parser. looks like *no* spaces allowed outside of quotes. This is allowed:
    • {"f1_vol":0.10000,"f2_vol":0.20000,"f3_vol":0.30000,"f4_vol":0.40000,"f5_vol":0.50000,"f1_snd":1,"f2_snd":2,"f3_snd":3,"f4_snd":4,"f5_snd":5},
  • while this is not:
    • { "f1_vol":0.1, "f2_vol":0.2, "f3_vol":0.3, "f4_vol":0.4, "f5_vol":0.5, "f1_snd":1, "f2_snd":2, "f3_snd":3, "f4_snd":4, "f5_snd":5 }
  • Sending and receiving the appropriate json objects. Now let’s try to update and resend. Done and working. A pretty good day.

Phil 4.25.12

8:00 – 4:30 FP

  • Working with my various implementations of JSON
  • Working on the parser for the arduino. It’s a 4 state machine that looks for ‘>>’ to signify a new message and ‘<<‘ to signal the end of a new message. The memory for the string to be processed starts at 128 bytes and gets incremented by 128 bytes each time it runs out of space. Done.
  • Got the parser up on the arduino running, but I seem to have messed up the serial port and made it block. Am able to reset by running the terminal program…
  • Code runs fine on the Arduino when I send the string from the console. Need to figure out what’s wrong with my serial code.

Tom 4.24.2012

Start: 10:00

  • Fixed the problem with the states getting stuck during the echo test
  • Tested large data transfer.  The data looks fine but it doesn’t stop cycling on the last packet
  • Working on changing the states to something a bit more predictable and clear.  there are too many weird problems as it currently is.

End: 6:00

Phil 4.24.12

8:00 – 4:30

  • My lungs have turned into a petri dish. Need to make an appointment to kill these things. Call at 9:00
  • Got an LCD shield for debugging: http://www.diybin.com/products/DFRobot-LCD-Arduino-Shield.html
  • Have a good non-blocking read working
  • Have a block write working
  • Think I’m going to try using JSON for communication – there’s a library for the Arduino
    • Downloaded aJson for Arduino
    • Downloaded cJson which it’s based on for the PC side. Integrating now
    • Had to change the cJSON.c to cJSON.cpp for the compilation to work correctly. This may actually make more sense to make into a static library. Going to play around a bit more before making a decision.

Phil 4.23.12

8:00 – 5:30 FP

Tom 4.23.2012

Start: 10:00

ComMgr testing:

  • Send Data works with one byte both sides
  • receive Data works with one byte both sides
  • It turns out that the receive buffer on the arduino side only accepts 63 bytes now instead of 127

ComUtil

  • Initializes properly
  • Both get to ready state properly with no loaded data
  • Single pass writing from PC to Arduino moves through states properly
  • loaded 504 bytes of data in to test packet counter.  It properly returned 8 packets of 63 bytes each
  • There may be a problem with multi packet send terminating improperly on the last packet
  • Tested transfer from arduino to pc.  This works and printed out correctly.
  • In the echo test the computer can receive and respond but it gets stuck on the arduinos response.  The arduino sends the first time fine.

End: 5:30

Mike 4.23.2012

  • Backups at site
  • Finished acquiring and building the new PKI Certificate for the production server.  I tested that it works by using it to connect to the authentication server and retrieve some user credentials.  I deployed it to the production web server but it did not fix the connectivity problem.
  • Phil gave me his port checker program and I tested connectivity with the production server.  As expected the server responds as listening on port 443 whether or not the webserver is up.  This pretty much confirms there is a proxy issue.
  • Back at the mill reading about GWT security and user authentication.  Here are some useful articles:

Tom 4.20.2012

Start: 10:00

  • The states of the ComUtil now cycle properly.  If data starts on the PC side but the data doesn’t print out properly when transfered back from the arduino
  • When starts on the arduino side, its prints out properly but then gets stuck after the trys to send then goes into a state that it shouldn’t be able to get to.
  • There is something wrong with the receive method on the arduino.
  • The Mega has 4 serial ports.  I can print out variables and stuff on another port without interfering with the data transfer.
  • Noticed that TRUE on the arduino is defined as !FALSE.  On the PC TRUE is 1.  I can’t see why this would cause me to get into odd states but considering the code is identical on both sides and the arduino is being more wacky than the PC maybe this is the problem.

End: 6:00

Dong Shin 04.20.2012

Mike 4.20.2012

  • Usual backups at site
  • The PKI site was back up so I was able to access the signed cert.  Couldn’t figure out how to construct the .jks file from it, Phil said he would show me on Monday.
  • No word from the firewall people.
  • Back at the mill reading about Maven best practices and general java naming conventions