Author Archives: pgfeldman

Dong Shin 05.21.2012

  • decided to use SQL query to genenrate COGNOS supporting data (PM Actuals) instead of a lengthy Python script
  • working on SQL queries…
  • COGNOS with matching PM Actuals
    • SELECT f.*,
      CASE WHEN SUBSTR(FY_Month, 8, 3) = ‘Oct’ THEN  month_1
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Nov’ THEN  month_2
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Dec’ THEN  month_3
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Jan’ THEN  month_4
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Feb’ THEN  month_5
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Mar’ THEN  month_6
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Apr’ THEN  month_7
      WHEN SUBSTR(FY_Month, 8, 3) = ‘May’ THEN  month_8
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Jun’ THEN  month_9
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Jul’ THEN  month_10
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Aug’ THEN  month_11
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Sep’ THEN  month_12
      ELSE ‘other’
      END AS PM_Actuals
      FROM visibility_dev2.facts_fy12 f, project_portfolio.budget_centers c, project_portfolio.obligations_outlays o
      WHERE c.uid = o.funding_id
      AND f.Program = c.facts_pe
      AND f.BC = c.center_number
      AND f.Approp = c.appropriation
      AND o.year = SUBSTR(FY_Month, 3, 4)
      AND o.year_count = 1
      AND o.type LIKE “PM Actuals%”
      ORDER BY f.uid
  • match COGNOS data with PPM data
    • SELECT f.*, o.month_1 as PM_Actuals FROM visibility_dev2.facts_fy12 f, project_portfolio.budget_centers c, project_portfolio.obligations_outlays o
      WHERE c.uid = o.funding_id
      AND f.Program = c.facts_pe
      AND f.BC = c.center_number
      AND f.Approp = c.appropriation
      AND o.year = 2012
      AND o.year_count = 1
      AND o.type LIKE “PM Actuals%”
  • parse FY_Month field for year and month
    • SELECT f.FY_Month, SUBSTR(FY_Month, 3, 4) as year,
      CASE WHEN SUBSTR(FY_Month, 8, 3) = ‘Oct’ THEN  ‘month_1’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Nov’ THEN  ‘month_2’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Dec’ THEN  ‘month_3’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Jan’ THEN  ‘month_4’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Feb’ THEN  ‘month_5’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Mar’ THEN  ‘month_6’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Apr’ THEN  ‘month_7’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘May’ THEN  ‘month_8’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Jun’ THEN  ‘month_9’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Jul’ THEN  ‘month_10’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Aug’ THEN  ‘month_11’
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Sep’ THEN  ‘month_12’
      ELSE ‘other’
      END AS month
      FROM visibility_dev2.facts_fy12 f

Tom 5.18.2012

Start: 12:00

  • Bought some connectors and ribbon cable.   I am not sure how to mount them as they use different shapes for pins.  I will have to see if I can find a footprint that matches up in the pad to pad software.
  • Downloaded the source for the ardino side
  • Spent some time getting familiar with the code and tried out  a couple sounds.

End: 6:00

Mike 5.18.2012

  • Production backups
  • Wrote up our weekly status and submitted it to Mike H., Dave W., and Jim from TASC
  • No word back yet from the data center about our connectivity problems
  • Looking in to some neat javascript only things for simple websites

Dong Shin 05.18.2012

  • spent sometime setting up Visibility and Scripting Servers for COGNOS data
  • COGNOS data fields mapping to the PPM database fields, others are calculated…
    • FY Month (FYYYYY MMM) – FY2012 Oct
    • Capability
    • Program (FACTS)
    • Service
    • Sub-Project (Expenditure Center)
    • BC  (Budget Center)
    • Approp
    • Current Budget (FY Budget)

Phil 5.18.12

8:00 – 2:00 FP

  • Leaving early to prep for a long weekend of riding around the Delmarva. I’ll be back on Wednesday. Texting to my cell (410.300.7293) is probably the best way to get ahold of me
  • Now that the framework is in place, adding in multiple sounds per finger.
  • Got some sounds kind of working, but there may be some state problems. For example, I can turn the amp volume down, but only once. After that, sounds don’t seem to play, even though the volume is back up. Since everything can be testedthrough the serial console, I handed things off to Tom to see what he can do while I’m out.

Tom 5.17.2012

Start 10:00

  • Confirmed that hp/compaq is my least favorite computer manufacturer.  Not only have I replaced more hard drives out of these brands than any other but they use proprietary power supplies and mother boards.  This power supply has a different pin configuration and the power on works in a way that is mysterious to me and probably needs the motherboard to do it.  A standard power supply you can jump the power on to the ground and it powers up.  This one the power on is set low by default instead of high.  There was a 5v hot line that I thought might pull this high to turn it on but I got no results.
  • The good news is this should definitely work for our purposes with a standard power supply.  Independent of the large p1 connector, each of the little  4-pinmolex connectors output both 5 and 12 volts.  This means I can put one of these ports, the same as hard drives use, on the board to plug in the power.  A SPST(single pole single throw) switch can be used to turn the supply on or off.  Here is a youtube video on it:  http://www.youtube.com/watch?v=29vhuKbwLno
  • Phil found a really cool wooden case for the electronics.  If we attach the devise firmly too it, we should get very good sound quality.
  • I found the auto routing function for trace routing.  I tested it on a dummy circuit I made to see how it works.  Basically you set up the net and it does it.  We’ll see how well it does on the actual circuit as its much more complex

End: 6:00

Mike 5.17.2012

  • Production system backup
  • Met with Dong and went over the COGNOS data, we should be able to write a script that will mesh the desired data in to one table in visibility
  • Got a response from the other person having connection problems.  They are still having problems and gave me their IP.  I submitted a ticket with the enterprise help desk so hopefully they will have an idea of what is going wrong.
  • Finished up my manifest reader library and wrote a short users guide.  Shared in my sandbox svn folder for now.

Phil 5.17.12

8:30 – 4:30 FP

  • Going to see if all the code I wrote yesterday actually works…
  • Everything compiles and appears to be working. I’m going to increase the hysteresis on pitch so it doesn’t update continuously.
  • Note that an individual sound that gets two sets of information in between a send will only send the last one. That means that on the Arduino side, a command like ‘sustain’ has to have an implicit ‘start’. Maybe sustain should just have no start required?
  • Having a bit of trouble with the hysteresis function. It’s triggering on transitions between +0 and -0. Added an equals(double a, double b, double precision) to SoundWrapper to fix this. Better, but not entirely fixed. Ah – I was clamping the value for pitch and volume inside the toJsonStr() method, so the edge conditions would set newJSON = TRUE. Moved the clamp to inside the set().
  • Ordered a cool case and power supply for the electronics
  • Added a mapFloatToInt() method in DataElement so we can transpose the values from the sim to the midi easier. The code was looking *very* messy.

OH

  • Updated my resume
  • Interview for Jessie

Tom 5.16.2012

Start: 10:00

  • Figured out how much room mounting the boards will take
  • Decicded that the preamps should go under the the main amps.  They will be attached to the other side
  • built one of the amps that came in the mail.  I will start testing the power supply tomorrow

End 6:00

 

Mike 5.16.2012

  • Production server backups
  • Completed some OCI training for TASC requested by Jim
  • The remote site admin got back to me.  He said he can’t reach the production but last month was able to reach the test site.  I asked him to verify he can connect to the test site then I will contact local server admins
  • Also sent an email to the other person who was having connection issues.  I haven’t heard from them since their local admin said he could connect just fine.  Hopeful the admin and user resolved everything and just forgot to tell us.
  • Started matching up data between PPM and COGNOS, asked Dong to come in tomorrow to help write a query

Phil 5.16.12

8:00 – 4:30 FP

  • The communications test ran all night and was still working and responsive when I came in. Time to make some sounds!
  • Fixing up the messages, and eliminating redundant/unneeded info in the Json packet – all done, and the data transfer seems much happier
  • Added clamping to keep volume and pitch from getting out of hand.
  • Moving the hardware initialization from SoundDataObject to SoundController. I think I’ll also explicitly set up the sound objects, at least for now.

Tom 5.15.2012

Start: 10:00

  • Worked on new schematics for electronics board.
  • It is going to be tough to fit everything on an atx board but I am pretty sure its doable
  • reduced the size of the three sensor circuits to be about the size of 1
  • Reorganized the preamp circuit so 5 can be closer together
  • Found 2/5 connectors.  Still have trouble finding elbow serial ports, ribbons were not as hard
  • Trying to figure out the best place for the power and ground to run.  Also need to figure out how to run the new leads to the arduino

End: 6:00

Mike 5.15.2012

  • Backups on the production server
  • Prepared some of the connection test document and troubleshooting, will have more to add to troubleshooting once we resolve something
  • Read up on how the network works, proxies, firewalls, pki, etc. to see what may be blocking some users
  • Updated my internal FGM resume
  • It works! I have a small gwt app that displays exactly when it was built, the svn version number, and who built it.  We can also add other fields as needed.
  • Need to turn it in to a library.

Phil 5.15.12

8:00 – 4:30 FP

  • Working on the SoundController class. Going to try out the basic mechanisms in the sandbox before trying them on the arduino.
  • Got the JSON key/value search working. Now I need to organize all the unique sound objects.
  • SoundController class is working in the sandbox
  • Meeting over at UMBC to go over SIGCHI
  • Have SoundController on the arduino and am currently testing.  If all fingers are updating data, the communication gets bandwidth limited. This is ok to work out the sounds, particularly on a finger-by-finger basis, but it will need to be optimized to keep the refresh rate up.

Tom 5.14.2012

Start: 10:00

  • Pitch bend is a little tricky to use.  The midi command is (0xE(channel), byte 1, byte 2) .  The two bytes are signed but negative values are not used so the range of each byte is 0-127(0x00-0x7f).  The two bytes combine to make a 14-bit number with a range of 0-16383, with zero being the most flat and 16383 being the most sharp.  This means to have no pitch bend it has to be set 8192.  And example of the three bytes sent for this command on channel 0 is (oxE0, 0x00, 0x40).  It is important to remember that this is not equal to 0x4000 but instead 0x2000 as the most significant bit of the first byte is dropped.
  • Decided to change the way I was designing the new board in a way to minimize making mistakes on things which are still working.  Instead of starting from scratch I copied the board.   Things will still need to be moved but at least the traces are already connected.
  • Phil suggested having the new board follow the atx form factor so it can be mounted in a computer case.  The area will have to be 24.5x25cm all output ports will be in the 16x5cm rectangle where the pc outputs are usually.
  • Using a computer case gave me the idea that we might be able to use a pc power supply.  The peak current is fine the only problem is the minimum current on the 12 volt is 1 amp.  I will have to do some tests when the new stuff comes in.
  • Measured and placed the mounting holes for the arduino on the new board schematics
  • Found some of the connectors which will be needed to use ribbon wiring for the arduino in the pad2pad tool.

End: 6:00