- Fixed code so there is only one executive.
- Made inputController the base class for anything that takes strain gauge input and turns it into motor movement.
- IFControl(input force) is a child inputController that turns force into movement speed.
- KFControl(kenetic force) is also a chile of inputController which turns force into displacement positioning.
- Should be set to go once the strain gauge is ready minus a couple tweaks.
- copied Query Panels and Tables Management Panels from FormBuilder and modified to work with ProjectPortfolio database – more testing needed
- added LoginScreen to main panel to enable login and logout – user info not yet set!
- created AlertsViewer for logged in user
- User Alerts checked and shown up on login
- Alerts Clear and Clear All working
- Fixing RCS program so that it only has one executive and many controllers instead of many executives and few controllers.( almost complete)
- Strain gauge on left side of output motor is messed up. It was reading 2k instead of 1.2k. I was able to fix it but then when I moved it to collide with the ball again it went off again and was not fixable.
- Probably should route the wire somewhat differently so it doesn’t get pulled on when the rod collides with the ball
- Took a while to figure out why the strain gauge wasn’t working. I guess the moral is if the bridge is not balanced check the resistance of the strain gauges before going crazy with other things.
- Need to make a second input class to handle the output motors strain gauge events. Instead of translating force into motion, it will have to translate force into offset from the central position.
7:30 – 5:00
- Adjusted to my moved desk and then was informed that I may be moving back
- Getting servlets to work – roughed out
- Changing the publishing mechanism so that output is published to the DB. The servlet then accesses the db using the path information to determine which output to show
How to setup the web.xml file to allow Tomcat to access a servlet that your browser can see:
<display-name>Archetype Created Web Application</display-name>
<!- declare –>
<!- map –>
- created RelationTableDataGrid and RelationTableWindow to manage relationships between tables
- requires key, keyName, foreignKeyName, relationKeyName, tableName, relationTableName
- fixed bugs in ProjectWizard not matching table names
- need to figure out how to make TitleWindow resizable.
- made key field enabled=false in EditTableDataWindow so that the key cannot be modified
- wrap the key field with ‘ in EditTableDataWindow so it works with strings…..
- created ProjectTitlesWizard to manage (add/remove) project names
7:30 – 5:00
- Worked at getting an LDAT account. Couldn’t find a location with account info, so sent MG a note asking for some help.
- Setting up forms demo on Monday
- Big VISIBILITY demo this afternoon
- Working on integrating autoscripting execution with the rest of the scripting functionality. Ran into a problem – the auto run server is different from the remote object server, which screws everything up. Going to have to move over to a servlet architecture
- Made it so movement was based on changing the max speed by a percentage determined by the offset when the bar is pushed or pulled.
- There are some problems with the offset not being consistent. Going to try to lower the resistance of the strain gauges to see if that helps if not we will probably need to use those other amplifiers.
- created EditTableDataWindow for data editing
- double click on TableDataGrid brings up EditTableDataWindow
- TableDataGrid modifications
- added remove selected functionality to TableDataGrid – multi-select not supported
- moved the Add/Edit data windows to TableDataGrid – makes more sense since it has all the structures defined
- pre-initialize of the columns data required to use the TableDataGrid properly,otherwise it will use default tables names and structures
- turned out that ObjectUitl.copy works for ArrayCollection….. just need to cast the object right.
- new ArrayCollection (OjbectUtil.copy (something.source) as Array)
- Contractors and Contract Numbers added to ObligationOverlayDataCanvas to show contract info on each of the ObligationsOverlay data.
7:30 – 5:00
- Sent off Dong’s questions to Jim and his other portfolio manager
- Noticed that the LDAT folks had attempted to ingest something, but it didn’t ingest right. Waiting for a ping on that
- Going to work on getting periodic ingestion working – Got the servlet working and the accessor method. Spent freaking forever dealing with odd Date() behavior.
- Morning interview
- Noon performance review process overview – need a charge number
7:30 – 3:30
- Fixed the Remote Object problem from yesterday by changing the flex com.edgeti.EdgeUtils.logger.LoggingEntry so that it references [RemoteClass(alias=”com.fgm.javaUtils.logging.LoggingEntry”)] instead of the edgeti version that’s wrapped up in Visibility3. I was expecting this to cause the Visibility code to barf, but after cleaning and testing, it seems to be fine. Keeping an eye on it though.
- Need to add automatic script running. Using Dong’s com.edgeti.VisibilityServer.Ingestor.AutoIgestorServlet as a template.
- Meeting with Griffith(?) and LDAT. Productive meeting. She’s interested in Visibility as a way of showing things that they need to. We meet next Wednesday to do more. Need to sign up for an LDAT account.
- Are Summary sections calculated or just the forms that users enter the data?
- Do Summary titles mean anything to data? For example, FY10 NAVY-10-004 Summary spans two years project funding, but is it FY10 data? Is the next summary data, FY11 should span 2011 to 2013?
- How should the Obligations and Outlays be grouped?
- The summary sections have Amount Distributed to Date. Are these static?
- added more fields to contracts.
- contract_existing (boolean to indicate new or existing contract)
- created TableDataGrid to manage table data for Contracts data – useful for other tables, too.
- created AddTableDataWindow for table data entry
- Strain gauge amplifiers need to have ground attached to negative on the power supply not V-
- Attached is a Better Diagram for straing gauge amplifer set up
- Increasing the gain on the amp and decreasing the offset makes strain gauges more sensitive but they tend to loose calibration easier so a higher deadzone is required
- Pushing on bar right on motor1 makes motor 2 go clockwise, pushing left makes it go counter-clockwise
- Motion is currently very jerky because it simply goes to angle and has to stop for a cycle before going again. This is a problem in the stepper controller which needs to be changed anyways so that we can have a more analog input of speed.
- Since there is no set velocity method we will probably have to set max velocity and change it on the fly. I think setting it to a position that it will never be able to get to and changing max speed will give it a servo motor type functionality while still having accurate stop points if we need them later. Need to add a set max_pos command to stepper controller and set max_speed so that it can be changed to negative when force is couter clockwise and positive for clockwise. Max_speed will very proportionally to the amount of voltage registered. The same principle will work for the controller motor(assuming it works at all) except max_pos will change depending on the force of the collision motor 2 encounters.
- Calibrating the strain gauges is a little tricky. Seems some combination of settings hold the calibration better. There is a problem when the power cuts off that it doesn’t reset to what it shut off at. Once its been on and off a couple times it seems to hold better. This may be due to the difference in resistance between the strain gauges and the resistors or that the gain is set too high because of the resistance of the strain gauges. Might try using the the variable resistors to lower the resistances not sure if that will help.
8:00 – 5:00
- Meeting with S14 with another portfolio manager. Printed out the newest form for Dong to check over
- More work on storing scripts. Added a description field. Need to integrate with mxml. Done
- Odd bug – Getting the following error: Message: Remote Object Fault – Client.Message.Encoding Cannot create class of type ‘com.edgeti.Utils.logging.LoggingEntry’. Detail: Type ‘com.edgeti.Utils.logging.LoggingEntry’ not found. The thing is, I’m not using edgeti.Utils.logging anywhere, so I wonder where that’s coming from. It should only be in the Visibility3 war, which I’m not referencing anywhere?
- played with the query for a while…. finally got it!
- basic algorithm –
- SELECT *, (N-1) * FROM table ( LEFT JOIN table on (conditions) ) * N-1 WHERE (condition) (AND (N-1 conditions))
- ObjectUtils.copy() doesn’t work for Array???????
- itemEditPreEnd and itemEditPostEnd added to control user inputs and display format
- check for invalid inputs (other than numbers and .)
- auto formats to two decimal places
- 0 is treated as NULL in the Obligation/Outlay DataGrid
- Save Obligation/Outlay data works!
- somehow NULL fields show up as a single space character on the Obligations/Outlays DataGrid, need to look into this.
- Phil got me more data to look at.
- Attempted to wire strain gauges. Not working at the moment.
- Called the guy at Industrologic. The only thing I really got out of this was that the resistors had to be very close together which they are. He also recommended against changing the potentiometers on the VRO and VRG at this point. Besides that the conversation kinda went the way it goes when I try to explain to someone how to fix their computer over the phone and they don’t know where the control panel is. I told him I would call tomorrow when your in so that maybe between the two of us we can figure it out.