Author Archives: pgfeldman

Phil 5.30.12

7:30 – 4:30, 6:30 – 8:30 FP

  • Put together all my semester info for reimbursement.
  • Working on the tone structure for the fingers.
  • Here’s a nice chord that works:
    • thumbIO.setContactNote(52);
    • indexIO.setContactNote(55);
    • middleIO.setContactNote(60);
    • ringIO.setContactNote(64);
    • pinkyIO.setContactNote(67);
  • Adding some PC-side data throttling so that we don’t overwhelm the Arduino
    • Setting up the sandbox to play with buffer management.
  • Brought over one of the other PhD students to look at the system and see what kind of study/paper can be done with it

Tom 5.29.2012

Start: 9:30

  • Found the footprint for a hard drive power plug and placed it on the board
  • Found the footprint for the D-sub connectors for the hands sensors and speakers
  • Drew the traces for the sensor voltage divider.  It is now much smaller
  • Still trying to figure out how to mount the ribbon cables wiring slot on the board
  • Ribbon cables are easy to attach to the female connector.  All that is needed is to line them up and then squeeze the top part
  • Cleaned up the lab area a bit
  • Phil was able to get the hand working so we tried it out.  It feels really good and I can see a potentially low learning curve once everything is tuned properly.  Tuning includes adjusting sensitivity, add more dynamic range to the volume, figure out a way to isolate each finger to an extent(it might be good if you feel some vibration in the other fingers), and selecting notes and  chords
  • http://www.8notes.com/piano_chord_chart/
  • I tried to find a list of cords in midi numbering format but couldn’t.  We will have to convert them using the chart.

End: 5:30

Mike 5.29.2012

  • Production backups at site
  • Created some Portfolio Manager accounts for users who requested them
  • One of the remote sites that was having difficulty connecting to our server resolved the issue.  It was a proxy on their end.
  • Created a document describing how remote users can test their connection and included a lot of troubleshooting information.  Hopefully we can send it out this week to all potential users
  • Status meeting this afternoon:
    • Apparently what the help desk told me was our production server is not actually a production server and we are still in the test and integration environment.  We need to jump through some more hoops to get to production.
    • May need to bring Phil back for help with the test plan
    • Tangie is working on getting a final user list so we can send out and connection test email to everyone on Friday
    • The next step will be getting some early adopters to start entering data

Phil 5.29.12

7:30 – 4:30FP

  • Adding in more sounds.
  • Looks like the contact sound is never enabled.
  • Sounds are all fixed and working. If too many characters come in, the Arduino crashes, but it seems pretty robust. I’m going to give each finger a different pitch tomorrow. For now, hit and movement sounds are off.

Interview at 10:00. Here’s hoping that I find out who it’s with and where it is before I have to leave. Yay. I have an address and contact info.

Mike 5.28.2012

  • Working on the chart stuff from home
  • Finished my class structure and all toXml and fromXml methods, here’s an example:

And the XML that defines it:

<flexichart>
<series>
<set seriesType=”ColumnSet” type=”clustered”>
<series>
<series seriesType=”ColumnSeries” yField=”0″ fillColor=”14976769″ fillAlpha=”1″/>
<set seriesType=”ColumnSet” type=”stacked”>
<series>
<series seriesType=”ColumnSeries” yField=”1″ fillColor=”10861646″ fillAlpha=”1″/>
<series seriesType=”ColumnSeries” yField=”2″ fillColor=”1807833″ fillAlpha=”1″/>
</series>
</set>
</series>
</set>
</series>
</flexichart>

 

Now I need to start working on the configuration screen

Also, here is a useful link for parsing XML using e4x: https://developer.mozilla.org/en/E4X_Tutorial

Mike 5.25.2012

  • Production backups
  • Back and forth emails with Jessica R. regarding account troubles, she was trying to log in to the data vis thinking it was project assistant
  • sent out the vis tool weekly status email
  • After lots of digging I found a connectivity trouble shooting guide designed for the problems we’re having! I found a link to it through someone’s blog.  I plan on using to it write our own troubleshooting guide to send to users.
  • I sent a few tests from the troubleshooting guide to a local site admin I’ve been working with.
  • Worked with Dong to debug an issue with my auto-login system

Phil 5.25.12

8:00 – 5:00 FP

  • Added set and get byte methods to DataElement.
  • Tested sounds. Things are working much better. Nice job, Tom!
  • Working through note change/on/off logic in sim – done
  • The midi boards need to have power cycled to get a reset?
  • PAD lab meeting
  • Got the collision sound working reliably. Calling it a day.
    • >>{“nm”:f1Ht,”vol”:128,”nt”:84,”instrument”:116}<< // hit
    • >>{“nm”:f1Ct,”vol”:128,”nt”:72,”instrument”:59}<< // contact
    • >>{“nm”:f1Mv,”vol”:128,”nt”:60,”instrument”:20}<< // move

10:00 phone interview

Tom DeVito 5.24.2012

Start: 6:00

  • My wrong pin theory was incorrect.  Yesterday, I thought that the top pins on the aux IO pin block might be pin 22 and 23, throwing off my numbering.  It turns out, the reason these pins were hot(putting out voltage) was because they were in fact 5 volt pins.  This means the numbering is correct.
  • The middle and rings midi controllers were swapped.  Problem solved.
  • I found while running my testing sketch that the reset method does work on all but the index finger.  Upon inspection of the midi board, I found that a surface mounted capacitor had a broken connection.
  • Tried to repair the problem but it was beyond fixing.  Cut all the wires and confirmed that this was the one having problems.
  • After replacing the Midi shield, the reset method was still not working.  The connector for the reset was not connecting properly.  I guess it was just a coincidence that the capacitor was also loose.  I am not sure how the capacitor was effecting the functionality of the shield as it seemed to work but wouldn’t reset.  Regardless it is probably best that it was replaced.
  • Everything seems to be working now.  I changed the instrument from church organ to viola 42 because the organ wasn’t sustaining properly.  I am pretty sure the organ is supposed to but I couldn’t get it to do it.
  • It just occurred to me that maybe you were not selecting church organ properly.  Change instrument accepts bytes and you are passing it an int.  There is likely a loss of data issue there.  I am pretty sure all the midi class parameters are signed bytes are what the midi protocol uses.
  • Tested this by hard coding the instrument settings and it sustained properly.
  • When it first starts up it does not sustain the first note but when you start one through the console it sustains properly
  • I tried a few different strings and they all seemed to work as expected.
  • If you have any problems call me 301-787-0490.  I am hoping to hit the road by noon at the latest so if you can me before then I may be able to drop by if necessary.
  • I will clean up the office Monday.

End 4:30

Dong Shin 05.24.2012

  • Demo/Tutorial at the site with Mike
  • fixed scriptEngine returning Byte to String for VisibilityScripting
  • fixed SolrXMLIngest to change illegal characters in column names to ‘_’
  • following fields to be added to PPM’s Budget Centers
    • Funding Type – BASE or OCO
    • Location
    • Org
  • SQL to add the fields to the budget centers
    • ALTER TABLE `budget_centers` ADD `funding_type` VARCHAR( 255 ) NULL DEFAULT ‘BASE’,
      ADD `org` VARCHAR( 255 ) NULL DEFAULT ‘S1’,
      ADD `location` VARCHAR( 255 ) NULL DEFAULT ‘Fort Meade, MD’;

Mike 5.24.2012

  • Production backups
  • Checked on the ticket status for diagnosing connection problems to specific sites; it is “in the queue.”
  • Demo/Tutorial with Jessica R., Lenni M., and Carla H. at my desk.  We went over PA, PPM, and data vis.  I gave them PPM accounts and made them all admins.  They seemed excited about the tool. A few issues arose from the demo:
    • in the data vis, periods cannot appear in column headers or you have problems
    • Need new columns for reqs:
      • Funding Type
      • Physical Location
      • Organization
  • Fix the period issue by having all ingestors replace periods in headers with underscores

Phil 5.24.12

8:00 – 9:30, 2:30-4:00 FP

  • Probably going to take a few hours to go to Salisbury today. Tom needs the time to make the electronics work anyway.
  • Adding the note on/off code to SoundWrapper
    • Use pitch to set up note changes
    • If a new note comes in (either as a new note or from pitch), then we need to turn the old not off, then add a new JSON string that turns the new note on.
    • Start thinking about polyphony.

Phil 5.23.12

8:00 – 4:00 FP

  • Back from the mini-vacation, which was fine until it became horrible.
  • Working with Tom on getting sounds to behave. It turns out that a single channel/instrument can be polyphonic, which is very cool, but it means that you have to turn a note on and off. I adjusted the SoundDataObject.update() method so that a JSON element of {"nt":72} will play middle C, while {"nt":-72} will turn it off. Setting {"nt":0} will trigger a reset of the Midi for that finger. Or at least it should. Reset isn’t working. Tom thinks it may be a mislabeled pin.
  • Cool thing for the day: https://live.leapmotion.com/. It strikes me that the Leap could be used as the basis for a finger chasing robot.

Mike 5.23.2012

  • Production backups
  • Worked with Dong to try and mesh the COGNOS data and our data, we had a bit of trouble matching things up so we went and spoke with Jessica R..  She seems to have a very good picture of how the budgets are organized and also showed us some reports she’d like to be able to produce.  There are a few fields that need to be added to Reqs to produce them: type, physical location, and Org.
  • We also have a meeting/demo set up with her tomorrow morning at my desk.
  • Contacted my old badge sponsor to try and transfer my badge
  • Charting stuff…

Working on the Config Screen.  Here are my current list of config screens and options:

General

  • Legend On/Off
  • Legend Position
  • Base at Zero = true|false

Series: Each chartable field will have enabled and type selector, changing types will change the options available.  Types:

  • AreaSeries – Stackable
    • yField
    • Fill Color
    • Fill Alpha
    • Form = segment|curve|horizontal|reverseStep|step|vertical
    • strokeEnable = true|false
    • Stroke Color
    • Stroke Width
  • BubbleSeries
    • yField
    • radiusField
    • minRadius=0
    • maxRadius=50
    • Fill Color
    • Fill Alpha
    • strokeEnable = true|false
    • Stroke Color
    • Stroke Width
  • CandlestickSeries
    • openField
    • closeField
    • highField
    • lowField
    • Fill Color
    • Fill Alpha
  • ColumnSeries – Stackable
    • yField
    • Fill Color
    • Fill Alpha
  • HLOCSeries
    • openField
    • closeField
    • highField
    • lowField
    • Fill Color
    • Fill Alpha
  • LineSeries
    • yField
    • Form = “segment|curve|horizontal|reverseStep|step|vertical”
    • Stroke Color
    • Stroke Width
  • PlotSeries
    • yField
    • Fill Color
    • Fill Alpha
    • Stroke Color

Sets: AreaSeries and ColumnSeries will both be members of sets with the following options:

  • AreaSet
    • series = []
    • type = “100%|clustered|overlaid|stacked”
    • allowNegative= true|false
  • ColumnSet
    • series = []
    • type = “100%|clustered|overlaid|stacked”
    • allowNegative= true|false

That’s all the options I can think of for now, always room for more.

Tom DeVito 5.23.2012

Start: 5:30

  • Due to the tediousness of how I was testing the sounds and not being to sure which sounds were wanted, I put together a way to test sounds easier.  I cut the headphones port off of some broken headphones I have so I can hook the speaker to my computer to test the sounds using a keyboard software on my computer.
  • I found that the poor sound quality is a problem with the hardware.  I am not sure how I had clean sounds at one time but I will have to examine what I am doing to see if I can fix the problem.  Sadly that test was done way before I started taking pictures.
  • The connection works so I can demo various sounds and pitch much more easily than before so we can determine what works best.
  • Looking at entries made in October of last year the problem seemed to be with midi shields.  The ground is not connected to a pin directly  as most shields would.  Maybe this ground can be attached in a different way.
  • Did a test with the extra boards I have, apparently the boards have more then 2 layers of traces.  All the ground ports work as ground and the one I am using is for the negative of the signal which may not be filtered properly like the others.  Plugging a headphone into this proved this theory.  When I touch the ground to the negative of the speaker it buzzes but when I touch it to the other ground ports it does not.
  • Sound quality issue has been resolved.  I tested it using my test_sensor sketch and it seems all fingers work fine.  Vibration quality is much better volume might be a bit lower or maybe its just the low notes used in the test.
  • Correction sound quality is mostly resolved.  Still need the improvements to resonance discussed in the previous entry.
  • The case came in looks really cool
  • Need to add rubber to where the metal touches the wood.  It might be best to get rid of the metal entirely.
  • There is plenty of room to add a wooden plank where the drive bay would be to have a hollowed out section
  • Power supply works as expected.  The fan is nice and quiet.  On the molex connector, red is the 5 volt line and yellow is the 12 volt line.
  • I don’t think the reset method of the midi is working properly.  Perhaps the delay needs to be longer.
  • Seems there are a few other issues that need to be worked out.  I am not certain why the fingers match u in my sketch but don’t seem to in this one.  I will have to examine the sketch a bit closer tomorrow and compare it to mine.  I will also make sure that mine is actually working.

End: 2:00

Tom DeVito 5.22.2012

Start: 10:00

  • Problems with sound quality cannot be resolved on the current design.  When I had one finger attached firmly to my desk it sounded perfect as if it was coming from a regular speaker.  The current design has way to much rigid area to resonate anything but the highest frequencies well.  This makes the high pitch sound of the white noise much more apparent.
  • Thoughts on new design:
  1. Make individual fingers and attach them directly to the wood box
  2. The connection must be very firm and insulated by some type of hard rubber
  3. I think some type of C clamp is optimal as very little energy is lost from the screw holes but if screws are needed they should be thick and the hole should also be insulated with rubber.  Large washers are needed to ensure the maximum amount of area is in contact with the wood.
  4. If there is room and the top of the box comes off easily enough, a hollow section could be added for further resonance.
  • Movement sounds:  I think for movement the goblin sounds are good.  They provide a very airy sound that does not create a lot of vibration.  Soundtrack may also be good for the same reasons.  Muted trumpet has a kinda robotic sound to it on the low end.  Polysynth might also do.
  • Contact sounds: Crystal sounds maybe
  • I came up with a  better way to test sounds quicker.  I should have a better list with more specific number by the time you get in tomorrow.

End: 6:00