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

Phil 12.20.12

8:00 – FP

  • Installing arduino drivers and generally setting up environment.Done
  • Working on understanding ASCII serial communications
  • Serial echo:
    const unsigned int BAUD_RATE = 9600;
    
    void setup(){
      Serial.begin(BAUD_RATE);
    }
    
    void loop(){
      int numChars = Serial.available();
      if(numChars > 0){
        Serial.print("numChars = [");
        Serial.print(numChars);
        Serial.print("] string = ");
        for(int i = 0; i < numChars; ++i){
          // Serial.read returns the first byte (int?) of incoming serial data
          // available (or -1 if no data is available) - int
          char inp = Serial.read();
          Serial.print(inp);
        }
        Serial.println();
        Serial.println("ready");
      }
    }
  • Turns out that I don’t have Visual Studio here. Talking from C++ will have to wait until this afternoon.
  • The arduino book references arduino-serial.c for example c code. The book’s code is here.

Tom DeVito 4.19.2012

Start: 9:00

  • After lots and lots of headaches I have finally got it to do an echo test.
  • The data corrupts over time because there is too many parts of the code that can trigger a sendmessage()
  • I need to make it so only one part of the code sends a message and that only one message can be sent per pass
  • I need to optimize the state machine and simplify it.
  • Need to get this done so I can focus on the hardware next week.  I will be in on the weekend if I need to.

End: 6:00

Tom DeVito 4.18.2012

Start: 9:00

  • Worked on figuring out what was wrong with the code which allows more than one packet to be send.
  • Fixed calculations for number of packets and for figuring out buffer position when loading the buffers
  • uint8_t has a weird definition in the avr world.  I changed all instances to unsigned char to ensure this didn’t cause any problems for me.  uint16_t is still required
  • Started using the addon I recommended in the previous post.  It pretty much automates everything that is really annoying.
  • Fixed lo0ts of minor bugs and things that could potentially cause major problems but Still can not get the arduino to receive properly

End: 10:00

Mike 4.19.2012

  • Usual backups at site
  • No word on my help ticket regarding the production server connectivity
  • Since the production server IP address changed I decided to get it a new PKI Cert in hopes that might resolve the issue.  I applied for it yesterday, it was approved, and today the download site is unreachable.
  • Back at the mill looking at GWT Calendar widgets from various libraries

Dong Shin 04.19.2012

  • got GWTRequestFactory working with hibernate JPA..
  • to create GWT Request Factory with Hibernate…
    1. create a domain model class, e.g., Person.java
    2. create a server service class that contains EntityManagerFactory, e.g., PersonService.java
    3. create a service locator class that extends Locatorr<T, ID>, e.g., PersonLocator.java
    4. create a proxy interface in Client that extends EntityProxy and defines ProxyFor, e.g., PersonProxy
    5. create a request interface that extends RequestContext and defines service, e.g, PersonRequest
    6. create a request factory interface that initialize the request in step 5, e.g., PersonRequestFactory
    7. create a persistence.xml that defines database properties and object relation mappings
    8. create a orm.xml that defines entities used in persistence.xml

Phil 4.19.12

8:00 – FP

DataCommunication Library Requirements

DataDictionary:

  • Check serialize Method
  • Flush loops enough times completes data transfer.  Need to integrate all the communications stuff into this method.  (Implemented but Dependent on ComUtil Progress)
  • Add get data to data dictionary level.
  • Add error checking to importData.  ??? possibly done needs testing
  • Add a define for name length.

ComUtil:

    Get Large Data Transfer Working Reliably

  • Make sure message is sent before data.
  • Fix Constructor on Arduino side
  • Determine if FinishedProcessing should send a message (No it should not, I need to make it so only one part of the program sends messages for better reliability)
  • clearRBuffer() on PC side missing rbufindex reset
  • Change CTS case in handshake switch to receive message then data.  Remove receiveMessage() from the ReceiveDataMethod.
  • Fix Pointer intialization in both version of the receiveData method
  • Figure out if the state commented out is necessary in changeState() both sides
  • Adjust methods to evaluate the number of bytes read/written to determine true/false return ???  For some reason the counters in the windows api don’t seem to return properly
  • Optimize logic for less passes and better reliabilty

ComMgr:

  • Change return of Send and Receive methods on both sides to return number of bytes read/written  This doesn’t work very well.  For some reason the variable that is supposed to return the data sent does not seem to work at all.
  • Figure out why the Arduino is not receiving properly

FingerController:

  • Need to add variables with names and sizes mirroring the PC side
  • adjust logic for new variables
  • add some commands for various feature(ex. Material)

 

Mike 4.18.2012

  • Usual backups at site
  • The firewall team replied to my help desk request saying the firewall is open just fine because their firefox responds with a generic SSL error when trying to connect to our production server.  I recreated their results both with our webserver on and off and asked how it could be an SSL issue if the server is not even on and firefox reports the same error.  Waiting for a reply…
  • Back at the mill, tried checking in my log changes to svn and it wouldn’t go.  So I deleted my sandbox project, redownloaded the latest checked in version, and redid all my changes: checks in fine now.
  • Added a cursor example page to my sandox, clicking buttons changes the cursor to various options: default, wait, help, hand, etc.

Dong Shin 04.18.2012

  • spent past few days going over GWT Request Factory tuorials. Not many helpful tutorials out there…. Phil’s GWT in action book helped a lot. The example projects from the book contains Maven projects, but need some tweaking to work in my environment.
  • got GWTRequestFactory project working
  • got Mike’s sandbox project working – hibernate stuff
  • working on GWTRequestFactory with Hibernate (PPM Database)
  • Basic JPA attribute mapping to XML