- PPM
- Added dynamic button control updates to RequestEmailTextHBox so that the buttons get updated based on the projects selected
- fixed a bug exporting projects out of FY range
- fixed a bug filename not getting from description
Monthly Archives: March 2011
Tom.DeVito 3-7-2011
Notes on programming the Arduino:
- Main program consists of setup() to initialize and loop() for continuous operation.
- Pins are set to input by default. This is good for reading digital sensors but has really low current(ex photocells). In order to change it to output mode, call pinMode(pin#, OUTPUT)
- digitalWrite(pin#, setting) allows you to set the pin HIGH or LOW. This can output or sink 40 ma.
- Analogue inputs can be used as digital outputs in output mode. In input mode, the pull up resistor can be activated by setting the pin high. All analogue pins numbers are prefixed with ‘a’.
- It may be good to put short delays between analogue sensor reads to lower the electrical noise.
- Power width modulation is a way mimic an analogue output by digital means. The pins capable of this seem to be marked. This can be done using analogueWrite(value)
- There are 3 types of memory on the arduino, 16kb(with 2kb used for bootloader) Flash, 1024 bytes of SRAM, and 512 bytes of EEPROM. The main program resides in the flash memory while active variables are stored in the SRAM. The EEPROM memory is non-volatile and can be used to hold states between power downs.
- One way to save memory is to use #define for constants. Using this instead of declaring variables, save memory by replacing all instances of the constant on compile for it doesn’t have to sit in memory. You can also store constants in the program memory using the PROGMEM keyword.
- Libraries: http://arduino.cc/en/Reference/Libraries
Phil 3.8.11
7:00 – 7:00pm VISIBILITY
- Walked through the new version of PPM with Christie, she thinks it’s fine, and will check with Trish. I’ll follow up at 3:00, when I have my meeting with Kris U.
- Working from home this morning, waiting for my microwave.
- Looks like the reason for the slowness of the RServe response was that the HashMap that I had the RConnection object wasn’t static. Odd, since the remote object appears to be persistent…
- I have a new microwave!
- R really hates windows paths – you have to make sure to replace all the instances of ” with ‘/’ or you kill R.
- Got all the pieces working. Calculations, plots, the works. Need to do some clean up and commenting, and then make widgets!
Mike 3.7.2011
Back to working the visualization part in order to get something to show the customer.
- Working on figuring out how to run something inside without hosting it on a server
- Should be able to open a swf/html file from a CD as long as it doesn’t require any outside services except maybe loading xml files locally
- Hard coded some methods to fill a local data cache with data for the report viewer
- Figure we need some of the basic stuff even if it isn’t wired:
- Users and a login screen
- Ability to comment on things in reports
- Have a log in screen working and connecting to a remoteobject, need to figure out how to turn the remoting on/off at run-time (some kind of demo mode)
Dong Shin 03.07.2011
- PPM
- revised Project Export to show distinct FY data with appropriation, FT name, FT number, Activity Amount
- reworked the Export queries to retrieve valid data – invalid data retrieved…..
- disabled status changes for non-selected projects in data request
- added Export to Request Form
Phil 3.7.11
7:00 – 5:00 VISIBILITY
- Somehow I lost last Friday’s entry.
- Walked through the PPM app with Trich, Christie and Leah. There were some problems with how the spreadsheet was getting assembled, but they liked the message organizer.
- Went over the changes with Dong. He finished up on Friday, and we’re testing today
- Having very slow response from R when the remote object is running in the server. Odd, because response was immediate when the app was running in java directly. Have to poke at that.
- Testing Dong’s update
- Install this morning?
- I may or may not be leaving this morning. I’m getting a range installed, but the delivery of the range may have been canceled.
- Added RFlexServer and RFlexClient to SVN
- Deployed the new PPM but items that had dollar figures did not post while items that did not have dollar figured *did* post. Talked to Dong about this, and added the bug to the PPM list.
- Got RFlexServer and RFlexClient running on my home box. Started working on why responses are so slow. THey are not, if R is not being called. Going to try making the reference static.
- Got a new version of PPM from Dong and deployed it. It seems to be working, in that spreadsheets seem to have the appropriate numbers in them :-). I’m going to talk to Christine and Trish tomorrow.
- Set up a meeting with Kris U. tomorrow at 3:00
Christine 03.05.2011
- Spent time getting MySQL synced up with Eclipse and getting Ingest Manager working
- Reinstalled MySQL on mac (major messup. Not sure what went on there). Got it working with Eclipse and did a few tests to be perfectly sure all was working
- Began working on Ingest Manager — syncing it up with the J2EE projects (RemoteObjectTestbed — it was easier to stick with Phils naming convention). Was able to get it up, but not running. I’m thinking this has to do with the Java packages that need to be created (the ones that should coincide with what’s called in the remote-config.xml file).
- Currently working creating the Java packages.
Dong Shin 03.04.2011
- PPM
- reworked Export to retrieve all the data for the selected year (year + year_count) = selected year
- order by Appropriations, year, budget_center….
- fixed a bug showing FMP (Financial Mitigation Plan) on empty data
- export data sets are identified by Funding Transaction Name?
- using uid to divide the data sets
- adde funding amount to export
- reworked Export to retrieve all the data for the selected year (year + year_count) = selected year
Phil 3.3.11
7:30 – 5:30 VISIBILITY
- Had a thought about getting data out of R. In the same way that I’m writing pix out to files that will then be read.
- Tried it, but no luck. It appears that the output from RServe is not considered redirectable
- Went looking for more hints and found this in the RServe FAQ:
- String s=c.eval(“paste(capture.output(print(summary(mymodel))),collapse=’\n’)”).asString();
- And that seems to work nicely. The moral of the story seems to be “Find a way to get R to do the work”
- Starting on the RemoteObject – should be mostly finished
- Started RFlexClient
- Accessing the setupModel.xml file
- Having some problems getting the message broker. Found a redundant entry in the remoting-config.xml file. That, plus a recompile, redeploy seems to have fixed it.
- Connected to the RemoteObject! Time to make some fancy widgets 🙂
7:30 – 3:30 VISIBILITY (3.4.11)
- Hoping to deploy new PPM today, and that there will be no mysterious 502 error message…
- Starting on some test statistical widgets to try out the remote object methods
- Deploy went well. Nearly there
- The queries are SLOW. Wondering if it has something to do with getting the RConnection. Going to try bouncing back the request on Monday (Depending on the stove delivery…)
Dong Shin 03.03.2011
- PPM
- reworking queries that retrieve the request data – done.
- rearranged Show All and FY Filters, Show Selected
- show Color coded status on Status column only in Requests Panel and Title column in Request Form
- verified Financial Data in the Excel spreadsheet, fill 0’s with empty data
- request status is the worst from projects’ status
- removed user specific requests
- delete requests added
Christine 03.02.2011
- Spent time yesterday and today continuing on with the Flex/Java/Tomcat setup.
- To avoid Tomcat’s settings.xml file from being overwritten, I had to modify the server.xml file in Eclipse (under Servers < Tomcat: localhost). Still don't know why, but it works and I'm happy
- Had minor setback with a Messagebroker issue, but that was resolved with a click of a Tomcat setting
- Set up and ran a test Java/Flex project. Success. Discovered a bug with SDK 4.0 where an error was returned when calling mx.rpc.Responder (error message was: Can not resolve a multiname reference unambiguously. flash.net:Responder (from /Applications/AdobeSDK/flex_sdk_4.0.0.14159_mpl/frameworks/libs/player/10.0/playerglobal.swc(flash.net:Responder)) and mx.rpc:Responder (from /Applications/AdobeSDK/flex_sdk_4.0.0.14159_mpl/frameworks/libs/rpc.swc(mx.rpc:Responder)) are available). Found out that this is a known bug and the way to resolve it was to explicitly call the full classname
- Now that I have a better understanding of the Flex/Java setup, tomorrow I will begin trying to get Ingest Manager up and running *finally*
- Non-dev related: Claire was very excited to have her purple shovel again
Dong Shin 03.02.2011
- haven’t checked for FGMDEV backup for a while – still working.
- PPM
- finally got Excel export working
- as3xls does not work with multiple sheets….
- added multiple files support along with single file
- users can export the projects to a single file or multiple files
- added progress bar
- ExcelFile.saveToByteArray slows the application down, not allowing UI updates when it writes data
- disabled project select on INCOMPLETE projects – cannot be exported
- added error capture on export
Phil 3.2.11
7:30 – 4:30 VISIBILITY
- Went over the latest version of PPM with Dong. We have a bit of a problem saving out multiple files without having a dialog pop up for each file. It’s possible that an Applet might be a workaround
- Working on figuring out how to properly traverse a REXP object
- Attr
- Parse the debug string?
- Split on commas
- Stuff to the left of ‘=’ is an attribute
- use getAttribute()
- Recurse to parser?
- Parse the debug string?
- Payload
- Object o = rl.elementAt(i);
- Attr
- Attempted to install PPM on site, and had the following bugs:
- When running on Trish’s machine, I got a remote object error 502 when trying to save a report for the first time. This did not happen on my box, but it has a static IP address and a hole in the firewall just for it. Will try on another machine today
- When bringing up a report request, the fields were blank until some event (i.e. show all) was clicked
- XLS files did not contain dollar figures
Tom.DeVito 3.1.2011
Finally have the Arduino, capacitors, and the SOMO 14-D. Still need to figure out what micro-SD memory card to get for the SOMO as not all are compatible.
Computer Controlled Amplifier
- To reduce number of problems, the oscillator circuit will be used to produce the sound. Later this will be replaced with the SOMO 14-D.
- Fried first amplifier because I had the pin numbering wrong. Pin numbering on ICs is numbered down on the left side then up on the right side. For some reason I thought it was down on both sides and got the VCC and GND pins reversed causing smoke.
- The capacitor used to filter the audio signal is not supposed to be polar but a polar capacitor will work as long as, the positive side is on the pin and the negative side goes to the audio source. This seems strange considering the direction of the current but when I had it the other way no sound came out. Luckily the audio signal isn’t strong enough to blow the capacitor.
- Switched piezoelectric speaker with regular speaker to make sure it wasn’t causing problems due t it having a higher resistance
- Realized that when the amplifier was changing volume the sound light sound would cut off. I figured this was due to lack of power. Took the whole circuit off the i2c-usb controller’s power and onto the power supply.
- Was not able to change the resistance on the the rheostat chip. Realized that all i2c controlled chips must be grounded to the i2c controller gnd.
- Test class worked for controlling volume!
- The amp has to be muted digitally in order to get absolute silence. The piezoelectric speaker, due to having a higher internal resistance, can be adjusted down to being “muted” without having to control the mode of the amplifier.
- The piezoelectric speaker seems to work well. Not sure how good it will be for playing sounds, instead of tones. Need to find out if I can get samples of those tiny speakers I mentioned in a previous post.
Arduino
- Considering part of the goal is to reduce the number of usb devices(not a very important goal but still), the mega would have probably been better then the Uno. That said, the uno should be useful to see if it will work for our application, and should have enough outputs for a two finger prototype. Another advantage of the mega is it can speak i2c which would eliminate the need for the usb-i2c adapter. However, if I find its better to control the mute function on the amplifier with the second rheostat on the variable resistor chip, we will need two i2c channels in order to communicate with 5 amplifiers.
- Before I attempt to get the Arduino to communicate with the SOMO 14-D, I am going to try some basic tutorials to make sure I understand how to program it.
Speakers
- Spoke to a representative at Murata to see if we could get samples of the VSLBP2115E1200-T0. He directed me to a local distributor Glen White Associates(434-385-6110). He also said that the Speakers should be used with a audio amplifier for ceramic speakers. There is no problem with using a regular amplifier but it may not be loud enough due to the higher impedance.
Dong Shin 03.01.2011
- PPM
- reworked Data Request update queries to allow new entries. This will remove non-selected and existing data, update current, add newly selected.
- working on exporting Financial Data Request to Excel.
- added project headers
- added user/contact information
- added for each project
- Budgets
- financial data for selected year from Oct to Sep
- Budgets

You must be logged in to post a comment.