Author Archives: pgfeldman

Tom.DeVito 2.8.2011

Repairing the hand:

  • Index finger still has problems.  Found out it was actually the bottom, not the top, that had the wrong resistance.  Attached a new one waiting for glue to dry.

I2C volume control:

  • Found out the difference between a rheostat and a potentiometer.  A rheostat only has 2 leads while a potentiometer has 3.  The potentiometer changes the resistances between the wiper and both ends producing two different resistances which add up to the total.   All potentiometers can act as rheostats but rheostats can’t act as potentiometers.
  • Our i2c chips are rheostats which is a problem because our amplifier needs a potentiometer.  I was able to mimic a potentiometer by setting the second register to (255 – register1).  This worked but there is no way to cut off the sound completely.  The chip has a shutdown command but it shuts it down at A which doesn’t exist on these circuits.
  • There is a version of this chip which is a potentiometer and the cut off switch would work but these are not addressable.  To use these I would either need a usb hub or some type of i2c multiplexer which I am still confused how you actually address it.
  • The other option is to get a complete audio amplifier IC.  Finding one of these that is not tiny and has leads is hard.
  • Going to read documentation for the ad5243 to see if there is a special way to mute it.   Have a feeling only the potentiometer version can do this.

Mike 2.8.2011

Working on the back-end database and java interface.  After going through a lot of documentation and partial examples, I figured out a way to dynamically map java HashMaps of key value pairs to a hibernate managed database.  I did it by using the dynamic mapping capability of Hibernate.  Hibernate simply requires an xml document to map keys to database columns.  I plan on creating a meta class structure that will either store object meta information or read it straight from the database tables and create the required xml documents as required.  If a new property is added to a dynamic object, the meta class will generate a new xml document for Hibernate and hibernate takes care of the SQL ALTER calls.

Reasons why this is good:

  • We can make use of dynamic Flex objects
  • Our object types can evolve and grow with time and be transferred between instances
  • We can connect to almost any database type (all types supported by hibernate) without rewriting anything
  • We can make use of libraries made to work with hibernate for things like lazy loading and data pagination
  • We don’t have to write sql queries for most things (if a Car has an Owner and we have a reference to the Car object, calling car.getOwner() will cause hibernate to do the database call for us)

Dong Shin 02.08.2011

  • PPM Changes
    • created SelectContractWindow that has filtering/searching capabilities, mapped to Funding Request
    • consolidated many buttons in ProjectMgmtPanel into PopUpButton
      • disabled click, works like ComboBox
    • added support to view Project Status from Main menu
    • fixed Start / End date validation
  • FGMDEV backup
    • dump files still not getting to the server
    • created and configured second script to transfer that runs one hour after the first one – check tomorrow.

Phil 2.8.11

7:30 – 5:30 VISIBILITY

  • Mike Cowan leaves S2F this Friday.
  • Got a few more screenshots from Trish and Christie. Fortunately they have nothing new in them. Dong is still on track for a disk by COB
  • Working on getting RemoteObjectTestbed2 working. This one has no java code in it and has logging. Got both working. Next, projects.
  • Taking a detour into building a few statistics actionscript classes.

Phil 2.7.11

7:30 – 5:00 VISIBILITY

  • Meeting with Trish, Christie, and someone new who I can’t remember right now.
    • Bugs – several, all hopefully having to deal with DB configuration. I gave Dong the screenshots
      • Also, add two more lines under mailing address in funding request
      • Funding request warning dialog has “financial” misspelled as “fianancial”.
      • Add “RTAs” to funding type under “detailed Information” tab
      • Selecting names seems to offer up only 20 or so names. What is the selection criteria? The same list appears for all selection buttons
      • Add check so that no start date be saved that is after an end date
      • The “Add Funding” dialog needs a sortable list for contract number – it’s a very long list. It’s also too narrow – there are some very long contract numbers. Panel is too small as well.
    • Next highest priority is the “email generator” This will produce messages to copy and paste into messages to the Financial and technical POCs
      • Create an email like the one in Funding Request for each POC that has the current financial data that they have to fill in, and the associated forms if they are not on goal
      • Have a list of all projects that the user can move through to create all emails in and easy way
      • List should have a dropdown that lets the user select the year and reporting period. Selecting a time period (FY/Quarter?) will bring up the list of POCs and the status
      • Users should be able to indicate the state of the contact:
        • Nothing done
        • Email sent out
        • Response back
        • Response entered – incomplete (if a goal has not been met and there is no justification, this should be flagged automatically. There may be an additional button if this is the case that asks the POCs for justifications
        • Response entered – complete
    • Status panel notes:
      • PPM calculated outlay should be a “checksum” of numbers. The true PM Actual Outlay needs to be entered by hand
      • Available balance is the percentage of the “last remaining to distribute” divided by the total budget
      • Goals are calculated as the total budget times the “out year” in the appropriation
  • Worked on migrating DbObject classes out of the sandbox and into the utils jars/swcs

Phil 2.4.11

12:00 – 6:00VISIBILITY

  • GREs this morning
  • Working on InfoObjectManager.as
  • Got an overview of the new PPM capability from Dong so that I can talk intelligently to Christie and Trish on Monday
  • Interview at 4:00
  • More InfoObjectManager.as. I think I have the actionscript side working.

Dong Shin 02.08.2011

  • FGMDEV backup
    • still missing database dump files….
    • modified the script to tar up the dump files and transfer, check tomorrow
  • PPM Changes
    • FinancialStatusDataGrid acting weird… Could not select anything other than last one. Turned out the uid field in the class causing it. Had same uid’s populated on the data. Changed it to dataUid, works now….
    • Errors reported on the latest deployed version
      • changed Create Project to set program_element and FACTS_PE fields to NULL for existing data
      • updated server code to remove INSERTs
    • Fixing bugs
      • Funding request warning dialog has “financial” misspelled as “fianancial”.
      • Removed limit of data in Names list  – had 100 entries
      • Increased width of Contract Number in Direct Cite Window
      • added RTAs to Funding Type
      • check for Start Date and End Date, also disables dates based on selection
      • working on SelectContractWindow

Christine 02.05.2011

  • Checked out and tested Ingest Manager, EdgeUtils2 and AccountManager on my mac to see difference:
    • Needed to remove duplicate dependencies
    • Definitely needed to change flex-maven_plugin to version 3.8
    • file .flexconfig.xml was generated by maven on Dong’s mac. This file was NOT generated on mine.
    • The -locale flag in Compiler settings needed to be empty in Flash Builder/Eclipse on my Mac because it threw the same errors that were occurring on my Windows machine yesterday.
  • 2 issues remain:
    • Ingest Manager: could not install application via Maven Assist. It led to to OutOfMemory: Java Heap error. I set MAVEN_OPTS in the terminal. Still failed to install application in Maven Assist, but could successfully install the application via the terminal window.
    • EdgeUtils: Continue to get a problem associated with the compiler settings. By default (after checking out the project) the additional compiler settings had “-include-sources:C:Phil…..EdgeUtilssrcmainflex”. I removed this setting completely, only to receive another error “nothing was specified to be included in the library” (this same error was generated if I added in the -locale argument). Finally, I took original argument, but changed it to point to my EdgeUtilssrcmainflex directory, only to be told that “could not find resource bundle in logging, messaging, rpc, SharedResources, validators”. Need to find out from Dong what his compiler argument is set to — hopefully that will resolve the issue on my mac.

Christine 2.04.2011

  • Spent time with Dong to go over the errors I was receiving with Ingest Manager. Turns out that flexmojos-maven-plugin 3.8 doesn’t allow for duplicate dependency statements in the POM file where v.3.2 did. This is also why Maven Assist would crash when trying to set the POM file. Once duplicates were removed Maven Assist was able to successfully set the POM.
  • Checking out a few other older projects – EdgeUtils and Account Manager. EdgeUtils had a clean POM, but Account Manager ended up throwing the same error. Turns out it too had duplicate dependencies written into its POM file. Once removed, that error disappeared.
  • Discovered a few other gotchas that Dong outlines in his post:
    • Maven generating different Flex project settings for Mac and Windows? –> I will be testing this on my Mac to see if I generate the same project settings as Dong.
    • -locale flag in Compiler settings needs to be empty to compile in Flash Builder/Eclipse? It works fine on Mac, but Windows complains. –> Again, going to check this setting on my Mac to see if true.

Tom.DeVito 1.4.2011

I2C:

  • Found out that com port was not being initialized properly.  Thought this might be due to cstring not converting to lcpcwstr.  Changed com ports name variable to char[].   This did not convert right either.  wchar_t is the correct type to convert to lcpwstr.  This was not the problem though.
  • For some reason, adding a colon after the COM4 made windows happy.  I don’t think this is always necessary considering it is in none of the examples.  How I figured this out was by adding a GetLastError() after the CreateFile call which gave me the error of 123 or file does not exist.  There were many different solutions to the problem and adding a colon doesn’t always work but this time it did.
  • Still can’t write to the register but at least I have a valid HANDLE now.
  • Figured out what was wrong.  To write to the register you need to send 5 bytes to the controller.
  1. Controller Command: This is different for different IC.  We want to use 0x55 because we want to talk to chips that have a 1byte internal address
  2. Address of the chip: These will be 0x5z. z will depend on how the address pins are set.  If both address pins are set to group 0x58 is what you want to send.
  3. Internal Address bit:  0x00 is what I used,  I believe 0x80 will give you the second register but i am not positive.  You can also mute with this byte again not tested yet.
  4. How many bytes of data will be sent:  In our case this is 1 do 0x01.  This is what I was missing when I tried this before.
  5. Step number you want in hex:  Put in whatever range you want 0-255 decimal in hex form.  It is approximately 40 ohms per step.

The way this looks in c

void changeResistance(){

BYTE sbuf[100];
DWORD n;

hCom = CreateFile( temp, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
//set-up com port settings
if (INVALID_HANDLE_VALUE == hCom)
{
printf(“Error: Could not open the RS232 port!”);
getch();
}

sbuf[0] = 0x55;  //controller command
sbuf[1] = 0x58; //address
sbuf[2] = 0x00; //internal address
sbuf[3] = 0x01; //# of bytes to be sent
sbuf[4] = 0x0A; // steps of resistance
WriteFile(hCom, &sbuf, 5, &n, NULL);
ReadFile(hCom, &sbuf, 1, &n, NULL);

getch();

}

Your supposed to set-up the com port settings which is not shown here.  The ReadFile is not really used in this program but would allow you to read the data you just put in to confirm it.

Repairing the hand:

Repairs are almost completely done.  Everything is attached and most of the pairs are responding with good sensitivity. The only pair not working is the index finger.  For some reason the top was settled 100ohms higher then it was supposed to be.  Ground off this connection and glued a new strain gauge and terminal to it.

Tom.DeVito 2.3.2011

I2C:

Still not working but here are some notes.

  • The usb-i2c adapter has the pull up resistors for the sda/scl lines built into the pcb.
  • start, stop, acknowledge bytes are handled by the i2c master and do not need to be done manually
  • Finally figured out how to use the i2c test application.  The chip seems to be working but it is changing the values for both registers instead of only one.  At least I know the address I was using is right.  I think the c program is not writing properly because whenever it writes, a green led should light up on the adapter.

Dong Shin 02.04.2011

  • FGMDEV backup…
    • mysql dump files missing again…. runs fine on command line. capturing output of cron job.
    • adjusted the script a bit, check again tomorrow.
  • Assisted Christine with Maven and Flex projects
    • went thru AccountManagers, EdgeUtils2, and IngestMananger
    • old projects use flexmojos-maven-plugin 3.2.0, we are using 3.8 now. 3.2.0 is not available at sonatype.org, we just have local server copy at fgmdev.com
    • old projects have duplicate entries for com.adobe.flex:license:3.2.0.3958 causing MavenAssist to crash
    • Maven generating different Flex project settings for Mac and Windows?
    • -locale flag in Compiler settings needs to be empty to compile in Flash Builder/Eclipse? It works fine on Mac, but Windows complains.
  • PPM Changes
    • added Tooltips to show contractor name and location on Contract Number ComboBoxes, both AddDirectCiteWindow and FundingRequest
    • mapping Funding Request Data to Financial Status
      • Submit Date (bf_submit_date) to Submitted To BA/BF
      • Certified Date (certified_date) to Certified Date
      • Acceptance Date (acceptance_date) to Acceptance
      • obligation_deadline_date to Funding must be obligated by
      • start_period_performance to Period of Performance
      • Missing Received Contract, Monthly Tech Report, Acceptance Received, MIPR/FAD Requested and Received Dates? dummy for now.
  • list of questions to ask…
    1. General flow of showing Financial Status
    2. Missing fields from Funding Request, if these are stored in Funding Request, where would you be entering data from? Just the Financial Status or Funding Request or both? If in Funding Request, where would it go?
      1. MIPR/FAD Requested from Service
      2. MIPR/FAD Request Received
      3. Date Acceptance Received
      4. Received Contract
      5. Initiate/Commit
      6. Monthly Tech Report
    3. Which are the editable fields in the financial status data form?
      1. PM Actual Outlay is calculated = obligation – outlay
      2. Remaining to Distribute = gradually subtract amount from total
    4. How are the summary data calculated?
      1. Available Balance
      2. Where would the goals come from?
    5. Reimbursable and Direct Cite mutually exclusive, can we control this like letting users enter data to only one place, not both?

Mike 2.3.2011

Continuing working on paged data sources…

  • Got paged data working within a Flex data grid, it loads pages of 100 records as they are viewed in a datagrid.  The datagrid scrollbar appears as if ALL the records are currently loaded.  While scrolling down rapidly you will see blank rows that quickly fill in with data as the pages are loaded.  It’s quick and quite seamless.
  • Unfortunately this implementation doesn’t allow for sorting or filtering and requires a special arraycollection and data handling code on the flex side.
  • I’m going to take a step back and see how lazy loading works.  There is apparently an implementation that allows lazy loading, is bindable, and requires no special code on the Flex side.  Looking in to it.

Also working on installing Helios and configuring Dynamic web applications. following phil’s notes.

Phil 2.3.11

7:30 – 4:30VISIBILITY

  • Deployed the new PPM and while testing it, found that there was some odd behavior in the comments. Took a screenshot and gave it to Dong, who was also perplexed.
  • Adding table updates (adding and deleting columns) and drop table capability to infoObjectManager.java – done
  • Need to add the same capability to InfoObjectManager.as.
  • It looks like we might need to write a tool that lets folks create update files that can then be emailed back to the financial folks for upload into the PPM database. Going to a meeting to discuss same
  • Added generic query to infoObjectManager.java.
  • Added check for “NULL” values when doing conversions from objects to sqlInfoObjects

Dong Shin 02.03.2011

  • FGMDEV backup not working properly.
    • found that sql dump files not transferred to philfeldman.com. The script works fine manually… will check again tomorrow
    • added output to the cronjob – /exchange/backups
  • PPM Changes
    • got many duplicate comments entries in View Comments??? looked at the database and code…. nothing.
    • fixed Date field in View Comments showing same Date…
    • currently deployed database – project_portfolio_02032011
    • saving database update sql – DBUpdateSQLs02032011.sql
    • fixed Funding Request updating type incorrectly
    • removed all additional fields from budget_amounts table – some fields go into funding_requests table
      • ALTER TABLE `budget_amounts` DROP `MIPR_requested_date` ,
        DROP `MIPR_request_received_date` ,
        DROP `submitted_to_BABF` ,
        DROP `document_number` ,
        DROP `certified_date` ,
        DROP `received_contract_date` ,
        DROP `initiate_commit` ,
        DROP `obligation` ,
        DROP `outlay` ,
        DROP `pm_actual_outlay` ,
        DROP `monthly_tech_report_date` ,
        DROP `comments` ;