- 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.
- 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
- 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.
- 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.
- 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.
- 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…
- General flow of showing Financial Status
- 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?
- MIPR/FAD Requested from Service
- MIPR/FAD Request Received
- Date Acceptance Received
- Received Contract
- Initiate/Commit
- Monthly Tech Report
- Which are the editable fields in the financial status data form?
- PM Actual Outlay is calculated = obligation – outlay
- Remaining to Distribute = gradually subtract amount from total
- How are the summary data calculated?
- Available Balance
- Where would the goals come from?
- 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` ;
Mike 2.2.2011
Working on creating a paged data collection system where, essentially, the data collection only loads the parts of the data currently being viewed. It is basically a paged data sources where unused pages are thrown away to prevent a continual build up of data on the server.
Started by going out and looking at the latest and greatest examples of database to Flex UI using BlazeDS. The most promising and generic seems to be accessing a database through Hibernate and the JPA API. It maintains an in memory cache of the data and takes care of syncing it with the database (which can by any relational database, HSQLDB, mySql, Oracle, etc.).
I made a simple, non-paged data service that returns a list of fake customers (name, email, phone) and after one day can display a datagrid of 15,000 customers in flex in under 1 second. I’m going to up the number of entries in my database for 100,000 and see what happens on the flex side. I may also trying to add more columns with much more data per row to see how that affects timing and memory.
Once I have an idea of timings and the most efficient way to do things without paging, I’ll try paging the data and see how much of an improvement that is.
Useful Stuff:
Dong Shin 02.02.2011
- PPM Changes
- fixed a bug Funding Request not updating project_id
- Remaining to Distribute calculation – keep subtracting Amount from FY BUDGET
- add outlay to Reimbursable and Direct Cites
ALTER TABLE `funding_requests` ADD `outlay_amount` DOUBLE NULL AFTER `reimbursable_amount`ALTER TABLE `direct_cites` ADD `outlay_amount` DOUBLE NULL AFTER `obligation_amount`
- add contract info for Reimbursable in funding_request
ALTER TABLE `funding_requests` ADD `contract_id` INT NULL ,
ADD INDEX ( `contract_id` )ALTER TABLE `funding_requests` ADD FOREIGN KEY ( `contract_id` ) REFERENCES `project_portfolio`.`contracts` (`uid`) ON DELETE SET NULL ON UPDATE CASCADE ;
- backing up FGMDEV
- created a shell script and added to crontab – /exchange/backups/backup.sh
- runs at 1AM everyday, keep last 3 days of data
- ftp information (vizncon@philfeldman.com to backups directory)
- ~4GB of data, 90 minutes package and transfer……
- SVN – svnadmin dump /path/to/reponame > /tmp/reponame.dump ;
- https://wiki.archlinux.org/index.php/Subversion_backup_and_restore
- /svnrepo/Visibility
- Nexus Maven Repo
- zip up /opt/sonatype-work
- Blog
- zip up /opt/lampp/htdocs/blogs and /opt/lampp/SCT-Blog
- back up MySQL Database; fgmdev_blog and sct_blog
-
/opt/lampp/bin/mysqldump -u root –password=edge fgmdev_blog > /exchange/backups/fgmdev_blog.dump
-
- created a shell script and added to crontab – /exchange/backups/backup.sh
Phil 2.2.11
8:00 – 4:00 VISIBILITY
- Hey! No ice!
- Described the new FGM development incentive structure do Dong. Also, he’s going to start regular backups of fgmdev just in case VA forgets to pay the bill.
- Statistics class
- Working on tying the server side code back to the flex side for generic table retrieval. First pass is done! Login is now handled in the new system.
- Burned a disk of new PPM swf
Mike 2.1.2011
Continued working on the report window and cleaned a few things up.
Investigated why I could shrink a panel down below the minWidth of its children. Apparently spark containers do not set their min sizes to be the sum of their elements’ min sizes so for now I’m going to leave it instead of changing the default behavior away from the norm.
Ran in to an extremely annoying error:
TypeError: Error #2007: Parameter justificationStyle must be non-null.
at flash.text.engine::EastAsianJustifier/set justificationStyle()
at spark.components::Label/createTextLines()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsLabel.as:802]
at spark.components::Label/http://www.adobe.com/2006/flex/mx/internal::composeTextLines()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsLabel.as:474]
at spark.components.supportClasses::TextBase/measure()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentssupportClassesTextBase.as:533]
at mx.core::UIComponent/measureSizes()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:8042]
at mx.core::UIComponent/validateSize()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:7966]
at mx.managers::LayoutManager/validateSize()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:617]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:709]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:1072]
When I create an application containing 1 panel containing 1 group. Searched online and the general consensus is on adobe forums is ‘it happens, not sure why’.
Started looking to making a help system that would navigate all compiled content as well as allowing dynamically loaded to inject stuff. The best solution would be to visualize html pages inside of Flex. That way we could link to auto generated Docs as well. Unfortunately this isn’t actually supported in any good way in Flex (only AIR). Text Flow Layout is another option but won’t be of any use until links are working in Flex 4.5. I’ll talk with Phil about it tomorrow.
Dong Shin 02.01.2011
- PPM Changes
- fixed User Management TextInputs and set User object not updating Save button
- adding Financial Status information to budget_centers table
- back up – budget_amounts_org
ALTER TABLE `budget_amounts` ADD `MIPR_requested_date` DATE NULL DEFAULT NULL ,
ADD `MIPR_request_received_date` DATE NULL DEFAULT NULL ,
ADD `submitted_to_BABF` DATE NULL DEFAULT NULL ,
ADD `document_number` VARCHAR( 255 ) NULL DEFAULT NULL ,
ADD `certified_date` DATE NULL DEFAULT NULL ,
ADD `received_contract_date` DATE NULL DEFAULT NULL ,
ADD `initiate_commit` DOUBLE NULL DEFAULT NULL ,
ADD `obligation` DOUBLE NULL DEFAULT NULL ,
ADD `outlay` DOUBLE NULL DEFAULT NULL ,
ADD `pm_actual_outlay` DOUBLE NULL DEFAULT NULL ,
ADD `monthly_tech_report_date` DATE NULL DEFAULT NULL ,
ADD `comments` TEXT NULL DEFAULT NULL- grabbing data from all related tables…
- SELECT r.funding_type, r.description, r.funding_amount, r.document_number, c.contract_number, c.name as contractor_name, c.location as contractor_location, b.center_number, a.amount
FROM funding_requests r
LEFT JOIN direct_cites d ON r.uid = d.funding_request_id
LEFT JOIN contracts c ON d.contract_id = c.uid
LEFT JOIN budget_centers b on r.project_id = b.project_id
LEFT JOIN budget_amounts a on b.uid = a.budget_center_id
WHERE b.project_id = 96
- working on saving Financial Status Data from the Form Entry
Phil 2.1.11
7:30 – 3:30 VISIBILITY
- Working from home today. When the roads melt, I’ll see if I can go install the PPM update from yesterday
- Installing xampp – done. Worked the first time. Sooooooooooooooooooooo nice.
- Working on a version of DbTable that tries to match a java data type to the sql data type. Done, at least for the types that Flex likes.
- Walked through the concept of views into infinite data with Mike.
- Installed the new PPM. When I updated the DB, I got some errors:
- On the 10th item (UPDATE direct_cites SET contract_id = [SELECT uid FROM contracts WHERE direct_cites.contract_number = contracts.contract_number )], and the 13th item (UPDATE funding_requests SET project_id = [SELECT uid FROM projects WHERE funding_requests.project_number = projects.project_number )] I got the following error:
- ERROR 1242 (21000): Subquery returns more than 1 row
- I left it as is since things appeared to be working. Worst case I can roll it back to just before I made the change.
Tom.DeVito 1.31.2011
Repairing the hand:
- The top of the thumb, bottom of index, top of the pinky and bottom forward back rotation need repairs.
- Attached new strain gauges to all but the bottom index. This one will have to wait for the glue to dry on top.
- left/right rotation, middle, and ring finger all work with good sensitivity.
Had to leave to get a check book from my house. Will continue working on the articulated hand at home and call about the voice coil actuators.
Mike 1.31.2011
Continuing work on the data grid report item:
- Moved the other 6 sample tables from the word doc in to the report prototype
- Added the remainder of the text in aswell
- Added word wrap to headers and cells
- added column colors to cells only
- Column header colors are possible but will require some work
- cell specific colors are possible but will require much more work
- HTML text in columns is possible but will require a fair amount of work
- Added vertical and horizontal grid lines to the data grid

You must be logged in to post a comment.