- Spent awhile moving the data from Alan’s tables in Microsoft word to the SCT flash demo project, the first report is now complete and probably ready to demo
- Started working on a hard-typed database scheme to quickly get out something with users, documents, and comments all being persisted. it should be easy later on to move to a dynamic system.
Monthly Archives: March 2011
Christine 03.14.2011
Today is a recap of everything that has taken place over the past week…
- This past week I spent way too much time trying to get Ingest Manager and Account Manager to work. Eventually I discovered through errors received that I needed to checkout and get Visibility 3 installed on my machine.
- After syncing up visibility 3 with my database settings (created a user account specifically for this project), I continued to hit brick walls. Final result, eliminated use of the RemoteObjectTestbed project, deployed Visibility 3 under webapps and changed the output directory of the Ingest Manager and Account Manager projects to build within webapps/Vis3.
- Hit a few more snags today b/c AutoIngestor continued to throw some errors my way. After sending to Dong he discovered a bug in the code. Once fixed, I updated my code, rebuilt and *bam* both apps FINALLY worked
- I have been able to successfully log into Account Manager, fix yet another error message by dropping and recreating the database, creating my user account and logging into Ingest Manager.
- Next, I’ll be going through Ingest Manager to see what can be done to make it more user-friendly
Dong Shin 03.14.2011
- Christine A. is having problem running Visibility.. I had to set up on my Mac, checked out the old stuff. It’s been a while.
- found a bug in AutoIngest not creating autoingests table, fixed it.
- tried to add Visibility 3 to Tomcat Server instance in Eclipse. Forgot to do eclipse:eclipse -Dwtpversion=1.5 and wondered how to add the project to the server…..
- PPM
- cleaned up Financial Status
Phil 3.14.11
7:30 – 4:30 VISIBILITY
- Trying to get R installed on fgmdev.
- Followed the directions here (http://www.mayin.org/ajayshah/KB/R/documents/install.html). The packages appear to have downloaded and installed, but I am unable to get the console running
- Ah. I needed to run ‘apt-get install r-base’
- Installed the following packages: Rserve, car, vcd, effects, gplots, multcomp.
- set R_HOME to /usr/lib/R
- set LD_LIBRARY_PATH to $R_HOME/lib
- exported LD_LIBRARY_PATH
- ran Rserve, which started Rserve as a daemon.
- Meeting with Bill to discuss server things. I told him that I had been in contact with Denise WRT getting privac. He said that he would follow up, also got a note from Kris U. about tying into a mail server. Looks very doable.
Phil 3.11.11
7:30 – 3:30 visibility
- VISIBILITY is back up on site
- Denise responded to my privac request and passed it off to someone else in her office
- Kris asked about if we required certs in our app. I told him no, that we could do without them.
- Worked on adding Kruskal-Wallis and Welche’s W test to the one way ANOVA widget. I’m going to make it so that you check the tests and plots you want
- Need to get R up and running on FGMdev so I can run this facing out.
Mike 3.11.2011
Spent the day importing Alan’s report v10.2 in to my hardcoded data model. All the text is in plus the framework of the tables. All that’s left is the information populating the tables which Kristi is moving to excel for me.
Phil 3.10.11
7:30 – 6:30 VISIBILITY
- Got the One-way ANOVA pretty much done
- Went to the Site to get access to the server and discovered VISIBILITY server was down. Tried to send an email to vset but it bounced. Ended up sending an email to John W. Pick that up tomorrow after class
- Sent an email to Denise about getting root access to the new VISIBILITY server
- Started working on F* and W ANOVA variants.
- All this statistics got me thinking. What if the amount of instructions it took to transform the two datasets until they were equal was tracked? Something along the lines of applying an n-dimensional convolution filter to n-dimensional histograms…
Tom.DeVito 3.10.2011
Arduino – SOMO interfacing:
- Hooked up the SOMO with a 220uf capacitor on the power supply going to ground and put one 2.2k resistor between the arduino pin and the SOMO pin for each of the serial wires.
- First memory card(PNY) was not compatible. Needed to get a sandisk 2gb uSD.
- At first i had the speaker hooked up directly to the SOMO. This produced good sound but had far less range with only 7 steps. Once I knew this was working I put the output wire through our amplifier.
- The piezoelectric speaker that i had from my computer motherboard is really only designed for tones so it might be blown.
- Eventually I am going to have the i2c resistor controlled through the arduino instead of the FTDI chip we are using. I am not sure how often this will happen but there was a conflict with the com ports.
- Spent a good amount of time trying to find the best speaker for the job. Eventually I found these: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=668-1206-1-ND
- 13mmx13mmx4mm is a good size for fingertips and we probably embed them into the surface of the next prototype(if that is not insanely hard to do). They get up to 85db which is about the same as someone singing loudly so that should be good. Not sure how much it resonates, but we can probably increase that through mounting techniques.
- Tomorrow, I will start working on the rcs system code to prepare it to work with our original prototype so we can test this method. A lot of its already written, just have to add the SOMO commands and fix the parts that I couldn’t test before. We can probably use our big cone speaker while we wait for the fingertip sized ones.
Dong Shin 03.10.2011
- Bug Library
- plugin for WordPress blog to manage bugs – http://www.fgmdev.com/blogs/?page_id=5099
- added bugs from PPM Requirements page
- PPM
- code cleaned up for the Data Requests
- changed login screen layout so that DEBUG background is shown
- added Select All CheckBox to Data Request Panel
- found a bug in Generate Email not filtering last year properly – fixed
Mike 3.10.2011
- Put in a commenting system which allows users to post comments on sections of a report
- Fixed an issue with the quad chart that broke the navigation buttons
Tom.DeVito 3.9.2011
Aurdino – SOMO 14D interfacing:
- Serial communication is a bit more difficult then I thought it would be because the SOMO does not follow any standard protocol. Instead you have to time the clock cycles and data timings manually. Luckily someone has translated the 4D Systems sample code to work with the arduino: http://forum.sparkfun.com/viewtopic.php?f=14&t=21388
- The code doesn’t do exactly what I want but the main important part is the sendData(int) function:
- void sendData(int ThisSong) //it says this song but it can be any 16 bit command
- {
- int TheSong = ThisSong;
- int ClockCounter=0;
- int ClockCycle=15;//0x0f;
- digitalWrite(pinClock,HIGH); // Hold (idle) for 300msec to prepare data start
- delay(300);
- digitalWrite(pinClock,LOW); //Hold for 2msec to signal data start
- delay(2); //2msec delay
- while(ClockCounter <= ClockCycle)
- { digitalWrite(pinClock,LOW);
- if (TheSong & 0x8000)
- {digitalWrite(pinData,HIGH);
- }
- else
- {digitalWrite(pinData,LOW)
- }
- TheSong = TheSong << 1;
- delayMicroseconds(200); //Clock cycle period is 200 uSec – LOW
- digitalWrite(pinClock,HIGH);
- ClockCounter++;
- delayMicroseconds(200); //Clock cycle period is 200 uSec – HIGH
- }
- digitalWrite(pinData,LOW);
- digitalWrite(pinClock,HIGH); // Place clock high to signal end of data
- }
- Considering there may be a time I will not have the code given to me, its best to explain whats going on here so that I know how to do this with just data sheet timings.
- Lines 3-5 set up are pretty basic. Declare a counter, declare a maximum, pass the parameter into the function.
- Lines 6-7 set the clock to high for 300ms to ensure a data reset between consecutive commands
- Lines 8-9 a two ms low tells the SOMO that the data stream will begin.
- lines 10-23 is the while loop. 16 cycles for the 16 bits of data
- line 11 sets the clock to low between bits. The first run its already low so it doesn’t really matter but it doesn’t hurt to set it to low again
- lines 12-17 was really confusing to me at first. I am used to only using Boolean operations within if statements. & is a bit wise function comparison function. Instead of checking the whole thing to see if its the same it checks each bit and only produces a 1 when both are 1 and 1. Every other combination produces a 0. So by comparing the command to 1000000000000000(0x8000) you will only get a non-zero value(true) if the leftmost bit is a 1. If its true it sends a high and false sends a low.
- line 18 bit shifts left to test the next leftmost bit during the next cycle
- lines 19-22 I am not sure why this has a 400us delay. The total cycle period is supposed to be 200us, high should be 100us, and low should be 100us. I guess as long as its consistent and under 1ms it will work. The two delays are in place to ensure the clock cycle takes at least 400us(it should be 200us).
- lines 24-25 are just used to set the idle state. A high on the clock line lasting more then 2ms stops that data transmission. The data line doesn’t have to be set low during idle but why not.
- The 300ms delay(+20ms processing after command is received) between commands is a bit long. Our amplifiers are much quicker(100ns per pulse cycle*steps) so this shouldn’t hurt response time too much except on initial contact. I believe when you send the command for select track and it will auto play but if you have to do two commands to do this that would be over a half second delay… I can probably minimize this by having a delta t function which measures the time between commands and delays the difference if its under 300ms.
Dong Shin 03.09.2011
- PPM
- removed projects that are not active from Request Form
- color projects that are not active in Current Year selected
- going back to Project Status, trying to remember what I was doing…..
Phil 3.9.11
7:30 – 5:30 VISIBILITY
- Sent Christine some screenshots of my setup for RemoteObjectTestbed
- Server meetings this afternoon – looks like the goal is to have the server up and ready for us to load things on it by the end of April
- Clean up some of the R code and make a correlation widget that accesses a VISIBILITY table.
Tom.DeVito 3.8.2011
Arduino – SOMO interfacing:
- Got a basic melody to play on the arduino by following this tutorial: http://arduino.cc/en/Tutorial/Tone
- Was originally going to communicate with the SOMO 14D by using the push-button operations using the digital outs of the arduino because it only has one serial port. There were a few problems with this approach.
- Takes many digital outputs to control one SOMO
- Cannot easily switch between tracks which are not right next to each other
- Hard to control active-low switches without the use of a gate
- The solution is of course to use serial. But one port is not enough for even a 2 finger prototype. Lucky there is a way to make the other digital ports act like serial ports using the SoftwareSerial library. An example of how this can be done is found here: http://arduino.cc/en/Tutorial/SimpleSoftwareSerial
- Was not sure if the regulated 3.3 volt port on the arduino would work for the SOMO. Found out it puts out 50ma and the SOMO’s peak consumption is 45ma. This should work for one but we will probably need a 3.3v voltage regulator for any others. Sparkfun(http://www.sparkfun.com/products/526) sells them so we can get them when we get the other SOMOs. The ones sparkfun sells can output up to 800ma so one would be all we need to power all the SOMOs. I think a decoupling capacitor on the power input protects the circuit from receiving too many amps. The wiki article was a bit confusing on this matter. I will read it a bit more in depth and ask Clift if I can’t figure it out.
- An interesting article on unregulated power supplies: http://www.sparkfun.com/tutorials/103
- Formatted uSD to have 16-bit fat file system. Also changed some music files to .ad4 and copied them to the uSD.
- Should be ready to wire up the SOMO tomorrow. The SOMO data sheet is poorly organized which has held me back a little bit. I do not want to fry the thing out of carelessness. Hopefully our memory card works, its not on the definitely doesn’t work list so that is good.
MISC:
- You can now scan to email with the printer. The e-mail portion wasn’t working before because they changed the server after we moved here. Now instead of using mail.fgm.com:25 we use spam.fgm.com:25. This is the only easy way to scan documents for Windows 7 machines which do not have the HP Solution center software yet.
Mike 3.8.2011
Thanks for Phil’s suggestion, it should be easy to demo using a jetty instance run from a CD. For now all the data services return hard-coded values so a database connection won’t be needed yet. I should probably still test putting this on a CD and logging in to a guest account with minimal privileges and see if it works.
- Got the log-in screen and remote service working for the WebDesk application.
- Created a module project containing the SCT Report demo and loaded it in to WebDesk
- Ran in to an issue with the AdvancedDataGrids in the reports, some of their required parts were not being loaded, got around it by including an invisible AdvancedDataGrid in WebDesk to be sure all required classes are loaded
- Got the hardcoded Quad chart working in the webdesk
Next will be getting the commenting stuff to work.

You must be logged in to post a comment.