Category Archives: Phil

Phil 7.30.13

8:00 – 10:00 SR

  • Backups
  • Tried to do some training, but the servers were undergoing maintenance.

10:00 – FP

  • Brought in my fine collection of jumpers and connectors. Next time I won’t have to build a jumper cable…
  • Built the framework for the new hand test. The basic graphics are running
  • Added cube code to the FltkShaderSupport library
  • Next, I’m going to integrate the Phidget sensor code into the framework, then hook that up to sound code.
  • Had Dong register for Google’s Ingress, just to see what’s going on.
  • Loaded in the Phidgets example code and the library that works is the x86 library. Using the 64bit library results in unresolved externals errors.
  • There are a lot of straight C examples. Just found the C++ class examples simple.h and simple.cpp.

Phil 7.29.13

SR 8:30 – 10:30

  • Backups
  • Found the source of the doubleing and tripling bug. New lines for the same values are being ingested. There needs to be a conflict resolution screen that is part of the ingest process.
  • Need to escape reserverd characters from query builder
  • Need to ensure that reserved words aren’t used in export to viztool.

FP 10:30 –

  • Prepping for demo
  • Fixing cable that broke on Friday
  • Got a lot of new parts in over the weekend including probes, cable, and sensors
  • Nice meeting with Dave Coleman. No concrete results (more meeting[s] required), but I think it went well.

Phil 7.26.13

SR 8:00 – 10:00

  • Found some query builder bugs
    • “GROUP BY” is getting stripped out
    • Two requisition ID’s is confiusing
    • If you select new items after an modifier, incorrect SQL is generated
    • Need to be able to group similar rows (i.e. roll up all rows with the same req id)
  • There seems to be a math error on the “Budget Information” panel. Lenny found that on project 236, there are three EA lines (and nothing else). One line is correct, one line is doubled, and one line is tripled.
  • Backups
  • Installed Eclipse 4.2 and Mikes old workspace on the server.

FP 10:00- 4:00

  • Today, the goal is to build a circuit with three channels that connects to the Phidgets voltage sensor. The only thing I’m wondering is if I’ll get the resolution with the voltage range I’m getting – Zero to about 2.5 volts. I’m estimating that I should get about 1500 – 3000 steps out of that, assuming -30v to +30v is resolved to a (unsigned?) 16-bit int.
  • Done!

ratsnest

Phil 7.25.13

8:00 – 10:00 SR

  • Backups
  • Deploying new swfs

10:00 – 5:00 FP

  • Got the sensor resistance converted to voltage. A 1k ohm resistor seems to work best, since I want most of the sensitivity to be light pressure. Next, build a circuit with three channels that connects to the Phidgets voltage sensor. The only thing I’m wondering is if I’ll get the resolution with the voltage range I’m getting – Zero to about 2.5 volts. I’m estimating that I should get about 1500 – 3000 steps out of that, assuming -30v to +30v is resolved to a (unsigned?) 16-bit int.

Phil 7.24.13

8:00 – 10:00SR

  • Backups
  • Ran the query_logs to Viz query with the column names changed. It works like a charm
  • Added the new jars to VSS for better logging

10:00 – 4:00 FP

  • Organized the lab. Or at least a good start.
  • Hooked up one of the pressure sensors. The question is should I use a Wheatstone bridge or a pullup resistor? Sparkfun suggests a pullup resistor.
  • Picked up the power supply, crimping tool and wire

Phil 7.22.13

8:00 – 2:00 SR

  • Uploaded new VSS jars to the server to see if I can track down the problem with large(?) files.
  • Backups
  • Added more logging, but it turns out that the problem was in the creation of the table with reserved column names (“index”, etc);
  • Checked in scriptengine and JavaUtils. Also created an “Eclipse Server Projects” and checked the Vis3Testbed and VSSTestbed projects into it.

2:00 – 4:30 FP

Brian came over last night and we were able to load up his laptop with the drivers and software and run examples. At this point, we’re looking at three things to study with the rig:

  1. What is/are the best frequencies for spatial orientation (position and distance) using these actuators?
  2. What happens with speed and accuracy when there are more than one signal?
  3. Do 7 actuators work better than 4?

We’re in the process now of writing up the test plan. In the meantime, I’m now going to try to adapt the Audio2X software to replace the synthesizers and use a Phidgets 1019 to replace the Ardino of the previous telepresence test rig. Once that’s done, then I’ll add in the Phantom. For reference, here’s a video of the first version running:

And here’s a picture of the latest interface that will be attached to the Phantom:

IMG_1444To move this along, I’ve brought a small pile of electronics in from home. Tomorrow’s goal is to make sure that I can connect to the interface board. Once that’s working I need to hook up the sensors from the old prototype (note! Bring in crimping pins for female DB15 connector!).

Phil 7.22.13

8:00 – 4:00 SR

  • Viztool meeting. See Dong’s notes for details
  • Deployed new FA and RA. Next week we’ll change the links on the VizTool webpage so that the primary links are to the new tools
  • Discussed how to handle the column width issue with Dong. It’ll be a method like ‘width = getColumnWidth(minWidth, numColumns, parentWidth);’ that’s called on resize().
  • Looking into the issue where large tables appear not to be inserted into the vis2 database. And of course, everything is working fine here. Need to add some more logging, I guess.

Phil 7.15.13

8:00 – 10:00 SR

  • In for a couple of hours while I wait for Celeste’s PhD defense. Being at work is an odd way to spend vacation.
  • Service people need to see planned obligate, planned outlays and PM actuals
  • use obligation_outlay_types for configuring the role data visibility

Phil 7.11.13

8:00 – 2:00 SR

  • PIT Crew meeting – see Dong’s blog for notes
  • Training – Which was much quicker than it was scheduled to be.

3:00 – 5:00 FP

  • Made sure that the telepresence demo was working. I need to get back to that!
  • Adding XML parsing of setup files.
  • Reading in files with newfangled std::ifstream. Fun!
  • Using rapidxml, which is working just fine, but suffering from cryptic documentation. I wasn’t sure how to get child nodes until I found this post. It looks like a small library of navigation functions might be useful. Considering there is rapidxml_iterators.hpp and rapidxml_utils.hpp I’ll look there first.

Phil 7.10.13

8:00 – 10:00 SR

  • Backups
  • RA is not populating the FT number, which is the Req ID. Lenny asked one of his users to update their financial data in RA and they were unable because they have multiple MIPRs for the same amount but there is no distinguishing feature among them other than Req ID

10:00 – 3:00 Leave

  • The gas people have to get into my house
  • Did verify that the release builds work with the end-user DirectX install

3:00 – 4:30FP

  • Added text to emitter position on the graphics screen
  • change the timer to to std::chrono::high_resolution_clock (check the bottom of this post for an example)
  • It looks like MSVC 2010 doesn’t have <chrono>. Made do with clock_t and clock() instead.
  • Added xml output for test setup. Why does ctime() return a string with a line feed!?

Phil 7.9.13

8:00 – 11:00 SR

  • Backups
  • Installing software on my new machine.

11:00 – 6:00 FP

C++ is like being in a candy store, full of a huge variety of bright, shiny treats that can blow your hand off if you don’t pay attention.

  • Finishing up adding multiple sound capability per test attempt. Because I’ve been away from C++ for a while and I like to try new things, I poked around with tuples for a while, which are kind of neat. Then I decided to put them into a vector and access them. That lead to code like this:
    • vector<FOURF_SAMPLE_TUPLE>::iterator it = myVector.begin();
      while(it != myVector.end()){
      	float sourceX = get<EMITTER_X>(*it);
      	float sourceY = get<EMITTER_Y>(*it);
      }
    • That is *not* the most intuitive code I’ve seen. I mean, it makes sense, and given the limited set of overloadable characters, ok. But I think “[” and “]” would have been a better choice than “<” and “>”.
  • Got the multi sound playing and the results output to .csv. Next is to get the xml setup files running.

Phil 7.8.13

8:30 – 12:00

  • Backed up
  • Moved to my new temporary desk. Remarkably, I was able to login and get to the servers.
  • Adminsitrivia.

12:00 – 5:30 FP

  • Adding multiple sound playback
    • Rework the output to handle multiple sounds. This means one TestResult per sound. However, the result cannon be associated with a sound, so for each release, all the emitter sources will have to be included. Later analysis can be used to determine the best fit. Note also that the number of attempts may be greater or lesser than the number of emitters.
  • Need to use the XML to write out and read in just the configuration values
  • Need to save multiple source positions in TestResult. Added bad code at the point to continue.
  • Looks like there is going to be a meeting to show what I’ve been working on Friday at 1:00.

Phil 7.3.13

8:00 – 11:00 SR

  • PIT crew meeting
    • Everytime Cognos data is uploaded, it seems to be adding the amount to claimed items
    • GUI defaults to COFUND even if an existing req is PRIME
    • Add a button to copy the contents of a req to a new req
  • Deployed new FA
    • Numerous bugs in query builder
      • Column width appears to be fixed, so that a one column query results in a narrow column at the left of the screen
      • Adding “where” clause in Advanced seems to delete the column being “where’d” from the query
      • No way to search through the extensive list of columns
      • If the query is going to be shown on the main screen, then it should probably be editable. I’d just hide the thing and have the query builder come up with the current query.

11:00 – 5:30 FP

  • Meeting with Rd. Kuber.
    • Add a “distance” component to the test and a multiple emitter test
    • Got a bunch of items to add actuators to: Hardhat, noise-blocking headphones, and a push-to-talk mic.
  • Added name and gender fields to the GUI and cleaned up the menus
  • Working on adding multiple sounds
    • Added a ‘next’ button
    • I think the test should have options for how the sounds are added
      • Permutations (A, then B, then C, then AB, AC, BC, ABC)
      • All (Going to start with this)
      • Random?
  • Added variable distance

Phil 7.2.13

8:00 – 10:30

  • Backups
  • Got kicked off of my machine before being able to deploy. Come back this afternoon?
  • Spent some time with Dong getting our contact info available again.

FP 10:30 – 5:00

  • Writing out files – done with CSV, not sure if we need the xml yet. Here’s what a session result looks like:

    Data!

    Data!

  • Trying to copy the executable over to another machine. First, the app failed to launch until I installed the end-user directX package. Now, it fails to start the XAudio2 engine. Trying the full install.
  • Built a release version. That may be better?
  • Well, it was either the full SDK install or the release build, but it works. I’m betting that it was the release build, since the debug dlls aren’t included in the DirectX end user package and I may have been referencing those.