Phil 2.17.11

7:30 – 4:00 VISIBILITY

  • Meeting with Trish Christie and Leia(?).
    • add “… for the monthly status report deliverable which is due (month) 10th”  to the generated email.
    • Add the ability to sort and filter”Create New Request” panel and “Saved Requests” (project, status, personnel roles. etc)
    • Time that a project should be included in a report request is from the first budget year to the last budget year plus the appropriation period
    • For creating (or adding to?) a request, it may be necessary to look at projects that will become active up to some period in the future, so that as projects become active, they will be included in requests
  • Went over meeting action items with Dong.
  • Based on a conversation with April, I’m looking at developing a Flex GUI interface to R, running on the server and accessed through rJava.
  • Talked to Brian about moving my client schedule from morning to afternoon

Tom.DeVito 2.16.2011

Adding audio control to RCS System:

  • Moved comportsetup to the audio executive class because the com port should only be initialized once.
  • Changed the parameters of the SoundController constructor to have id, PointMass, and string.  The id is the i2c address, PointMass is the instance which corresponds to the finger, and the string is the name.
  • Ran into an error where it said SoundController couldn’t be instanced because it was abstract.  Realized I didn’t have postProcess() in my class.
  • Defined states and commands.

Testing the Hand:

  • Calibrated the amplifiers
  • Tested the code with Phil.  A few minor bugs were identified and fixed.

Dong Shin 02.17.2011

  • FGMDEV backup working….. check again tomorrow.
  • PPM
    • creating queries for project export…. would like to put all the calculation on queries.
    • got feedback on Data Request
      • moved Users and Project to DataRequestFrom
      • added color-coded status for the Requests
      • added CheckBox filters to show selected/saved users and projects

Phil 2.16.2011

7:30 – 5:30 VISIBILITY

  • Working on setting up a meeting with Christie and Trish to go over Dong’s proposal
  • Showed Dong how to set up the Web Application with server in Eclipse. He thinks that he might be able to make it work with Maven
  • Endless ANOVA
  • Worked a bit on the hand with Tom. Everything seems to be working. Yipee!

Mike 2.16.2011

More progress on the dynamic object hibernate database thing.  Now transferring meta information to and from Flex along with the dynamic objects.

Found a weird bug with internet explorer while trying to download .docx, .pptx, or any other new microsoft office files.  Internet explorer automatically renames a file such as myDocument.docx to myDocument.zip, but it’s not the site zipping up your file and sending it to you to save space.  It’s Internet Explorer RENAMING THE FILE BECAUSE IT’S RETARDED.  It then tries to open your document as a zip file and confuses the hell out of the people using our SCT blog.  Dong and I overwrote the mime type definitions on our apache server to resolve the problem.  Details here.

Tom 2.15.2011

Adding sound control to the RCS:

This post regards adding control of the TDA8551T audio amplifier to the RCS System.

  • To set the volume of the TDA8551T you have to send pulses high and low signals as relative to the float signal to raise and lower the volume.
  • Mute and operational mode is controlled by a second trinary switch.  The difference is that this one works on constant signal as opposed to pulses.  High signal puts the device in standby, float signal mutes, and low signal set it to operating mode.
  • Although I think that mute will be needed to silence the amplifier, if the lowest step is silent it would eliminate the need for the second switch to be computer controlled.  This would allow 1 AD5248 to control two amplifiers.  If it is needed we will need a second usb to i2c adapter for the fifth finger because there are only 4 address combination for the AD5248.
  • Most supporting methods are written with the exception of the one that converts collision to steps.  Need to work on an audio executive class as well as the core preProcess and decisionProcess methods.

NOTES:

Collision can be extracted from the corresponding PointMass object which can be found in the data dictionary.

After reviewing the phidgetsExec, it has become obvious why I would want a separate executive for audio.

Dong Shin 02.16.2011

  • FGMDEV backup still not working
    • tweaked the script to use /exchange/backups directory…
  • PPM
    • server code is out of sync, saved all the changes, rechecked in and out.
    • working on Project export
    • Security error when trying to save Excel file…
      • Error: Error #2176: Certain actions, such as those that display a pop-up window, may only be invoked upon user interaction, for example by a mouse click or button press.
      • for security reason, FileReference.save() must be initiated from a user interaction… Arrrgh!
      • Added Alert to confirm save
    • Changed EdgeUtils.ExportUtils to have an option of saving files with and without header
  • Eclipse and Tomcat server configuration using Maven for Dynamic Web Project
    1. set up your Tomcat server instance within Eclipse IDE
    2. generate Eclipse project settings from the pom.xml you created, the packaging type must be war to use this feature.
      • mvn eclipse:eclipse -Dwtpversion=1.5
    3. web.xml may need some changes as Eclipse complains about the order of elements within <webapp/>. Follow this order….
      1. icon
      2. display-name
      3. description
      4. distributable
      5. context-param
      6. filter
      7. filter-mapping
      8. listener
      9. servlet
      10. servlet-mapping
      11. session-config
      12. mime-mapping
      13. welcome-file-list
      14. error-page
      15. taglib
      16. resource-env-ref
      17. resource-ref
      18. security-constraint
      19. login-config
      20. security-role
      21. env-entry
      22. ejb-ref
      23. ejb-local-ref
    4. add the project to the server by right clicking the Tomcat server in Servers view and selecting Add and Remove in the context menu.
      • got weird errors, “Validation Message” that points to nowhere… no effect on building projects, though.
    5. set a break point, stop and start the server in Debug… now you can debug your Java/Server code!

Mike 2.15.2011

After much flailing, learning, and more flailing, I’ve finally made some good progress on managed database access for dynamic objects.  I have meta information being stored in several table which details dynamic object types and their properties.  That part of the database is well-defined while I have another database access which is reconfigured when changes to the meta information are made.

  • If a new dynamic object type is created, the dynamic access session is reconfigured to take in to account a new table for that object type.
  • If a property is added to an existing object type, a new column is automatically added to the table
  • The session reconfiguration is done only once per save request (ie. if 10 new object types come over from the server, all updates are applied to the model before updating the session instead of reconfiguring the session 10 times)
  • There’s currently no plan in place to remove properties from object types but entire object types can be removed (similar to drop table)

Phil 2.15.11

7:30 – 4:30 VISIBILITY

  • Deployed Dong’s code. All works well, and we *can* save out excel from Flex!
  • Filed out as much as I could of Brian’s SSP
  • Downloaded the Apache Commons Math library source for conversion to Actionscript
  • Tried the easy way and found a Java to Actionscript converter (J2AS3). It needs some wotk for handling the FastMath class. Before I go in and change it by hand, I may try to improve the parser.
  • More ANOVA

Dong Shin 02.15.2011

  • FGMDEV backup still not working
    • put absolute paths in the script
  • PPM
    • continue working on Data Requests – primary functions added
      • create and save requests by selecting users and projects
      • update requests – change status, description, month, and year
      • added textArea for email
      • printed screenshots for review

Mike 2.14.2011

Worked with Phil to resolve getStrackTrace() calls in our code which were apparently breaking the non-debug version of flash player.

  • Commenting out the violating lines fixed the issue
  • So I then put in put in some conditional compilation flags as defined here
  • And magically even with the debug flags on, the code ran in the non-debug flash player, so by adding lines of code that in theory do nothing, we fixed the problem
  • Reworked the about page to add information about the debug flags and the user’s version of flash player

While playing with database accessing code, I found out how to build a Flex + Java Dynamic Web Project in Eclipse which builds and deploys both the java and flex code all in one swoop.  It also allows debugging of both sides in the same instance of eclipse.  Here are the VERY specific requirements:

  • Install Galileo Eclipse IDE for Java EE Developers (Newer versions of eclipse will produce an error later on)
  • Install the Flash Builder 4 Eclipse plug-in, make sure to pick the Eclipse plug-in from the drop-down list
  • The plug-in is installed with Eclipse Ganymede (too old for what we want to do, and who ships a plug-in with the whole framework anyway?), so we have to tell out Galileo install where the plug-in is:
    • Navigate to your plug-in install directory (‘C:Program FilesAdobeAdobe Flash Builder 4 Plug-in’ which I’ll call PLUG-IN)
    • Copy the file ‘PLUG-IN/eclipse-host-distro/dropins/com.adobe.flexbuilder.feature.core.nl1.link’
    • Paste a copy in to GALILEO-INSTALL/dropins
    • All this file contains is one line pointing to the plug-in install directory
  • Now if you run your Galileo Eclipse, you should be able to open the ‘Flash’ perspective from Window > Open Perspective > Other…
  • Now that the installs are done we can make a project… go to the ‘Flash’ perspective and create a new Flex project, fill in the fields something like this:
  • If you do not see the bottom lines “Create combined Java/Flex Project..” something was not installed or configured correctly in the beginning steps.
  • Click next, here you will configure your server, if you do not have a J2EE server configured, click new and make one, it is fairly straight forward, you simply choose your tomcat version and point to the main tomcat directory
  • You will also need a blazeds.war file which can be downloaded from Adobe here, the binary distro is all you need but there are very nice examples in the full distro
  • After you’re done with this page, click next to configure your flex project, the only line you need fill in is on the bottom ‘Output folder URL’.  If your project is called ‘TestWebProject’ this would look something like ‘http://localhost:8080/TestWebProject&#8217;
  • Click finish, if you get an error here which won’t let you finish the project, it may be because your eclipse version is too new… yea, this won’t work any eclipse version other than Galileo as mentioned earlier
  • Next we need to change one thing in the .flexproperties file.    Initially the server’s context root is not set properly after the project has been created. To change this either open the properties of the Flex project ADCDemo, select Flex Server and change the context root to /ADCDemo or change the serverContextRoot property in the file .flexProperties. To do this open the file .flexProperties in Flex Builder (you can find it in the Flex Navigator view in the root folder of the ADCDemo project) and change the property serverContextRoot to the context root of the Web application (“/ADCDemo”). Replace
    serverContextRoot="/WebContent"

    with

    serverContextRoot="/TestWebProject"
  • Now open the ‘Servers’ view from Windows > Open View… (Server > Servers), and add your project to your server by right-clicking on the server and choosing ‘Add and Remove’:
  • Start the server, then run your flex app and you should get a very blank flex app running in your browser
  • From here you can edit Flex code in the Flex perspective and your java code in the Java perspective (I highly recommended switching perspectives as the directory structure appears to change between perspectives)
  • The usual flex remoting files are contained in ‘WebContent/WEB-INF/flex’ and anything in your java src folder will be placed in to ‘WebContent/WEB-INF/classes’ folder during the build so things like log4j.properties go there

Phil 2.14.11

7:30 – 5:30 VISIBILITY

  • Found a problem with Flash Player dealing with debug statements. It’s covered here, but the gist of it is that the non-debug version of Flash Player seems to choke on debug statements – at least Error.getStackTrace() (not sure about trace().
  • Adding Randomized ANOVA to stats package. It turns out that CMM is trying to have a measure of confidence in their presentation of data but they don’t have a good statistical basis for making the call. How convenient 🙂
  • Testing Dong’s new PPM and hopefully burning a disk.
  • Had a grand time figuring out what’s up with flash debuggering.
  • Added the following to the FGMUtils pom file to get our compiler flags in. It looks like this:

<plugin>
<groupId>org.sonatype.flexmojos</groupId>
<artifactId>flexmojos-maven-plugin</artifactId>
<version>3.8</version>
<extensions>true</extensions>
<dependencies>
<dependency>
<groupId>com.adobe.flex</groupId>
<artifactId>compiler</artifactId>
<version>4.0.0.14159</version>
<scope>compile</scope>
<type>pom</type>
</dependency>
</dependencies>
<configuration>
<definesDeclaration>
<!–  this is the command line: define=CONFIG::debugging,true -define=CONFIG::release,false –>
<property>
<name>CONFIG::debugging</name>
<value>true</value>
</property>
<property>
<name>CONFIG::release</name>
<value>false</value>
</property>
</definesDeclaration>

</configuration>
</plugin>

Dong Shin 02.14.2011

  • FGMDEV backup still not behaving
    • created a separate script that dumps database an hour before the ftp transfer….
  • PPM Changes
    • added Export testing button for Project Mgmt Panel for Beta only….
    • added email, phone/fax to MIPR Request Form
    • uploaded the latest PPM for release/testing to /exhange/PPM_021411
    • working on email request generator
      • created data_requests table
      • created _data_requests_projects table
      • created _data_requests_users table
      • set up relations between tables

Tom.DeVito 2.10.2011

Voice coil actuators:

  • These are really cool but really expensive.
  • They can output up 300lbs of peak force with a continuous force for 100lbs.
  • They are very responsive and maybe good for feedback if they weren’t so expensive because even if it wasn’t powerful enough to push your finger you would still feel the force.

Other Options:

  • Looked into some other type of speakers.  Surface transducers can turn any surface into a speaker.  The problem with these is that they are too big.
  • There are little speakers that are found in computer cases that I want to see if they will work.

Repairing the hand:

  • I am not usually one to personify inanimate objects but I’m pretty sure the index strain gauge connection hates me.
  • For whatever reason the glue was not drying quickly today.
  • Attached wires to terminal pad but not SG because glue wouldn’t dry quickly.

Dong Shin 02.11.2011

  • PPM Changes
    • Working on data email generator
    • Working on a sandbox app to save datagrid data to excel file – donefla
    • added a test button to Project Mgmt to test exporting – works!
    • added ExportUtils to EdgeUitls
    • deployed com.as3xls.as3xls:1.0:swc to FGMDEV Nexus
      • <dependency>
        <groupId>com.as3xls</groupId>
        <artifactId>as3xls</artifactId>
        <version>1.0</version>
        <type>swc</type>
        </dependency>
  • Flash running at the site is v10.0