Author Archives: pgfeldman

Tom DeVito 3.5.2012

Start: 10:15

  • Continued working on drawing out the circuit board.  I think I can do this one sided but if not I can definitely do it with two sides.  The cost doesn’t go up much unless you use the 2 internal layers.
  • Finished drawing the sensor circuits and added ports for the varios wire groups coming in and out of the board.
  • Just a reminder because I think I forgot to mention this in earlier entries.  Each board supports 2 fingers, so one board will only have half the components on it.  The reason for this is the rheostat is I2c.  I2c protocol only allows 4 addresses for slave devices.  Another reason this works out is our high powered amplifiers are stereo.
  • Phil suggested using barrel plugs for the power.  I figure if we are going to do this, we might as well have one power input and regulate the power on the circuits that require 5v.
  • I tested a circuit for a LM7905 Voltage Regulator.  The surface mounted ones use a metal plate to increase heat conductivity with the pcb board allowing for much smaller packaging.
  • The 5V circuit will be running parallel to the 12V amplifier.  There are two things that need to be considered to make this work in a robust manner.  First a load resistor will have to be added to the 5 volt side to bring the current going in down to 1 Amp which is the operating capacity of the voltage regulator.  Second, I have to worry about what will happen if the amp suddenly stops working causing a surge of power to the regulator.  I believe a RC circuit to ground resolves this problem.

End:6:15

Mike 3.5.2012

  • Scanned in new test versions of the various visibility parts.
  • The AccountManagers I moved to PPM and compiled last Friday worked!
  • Also, modifying all the compiler settings to match those of PPM worked as well.
  • Usual backups this morning.
  • Answered several emails concerning stuff like “what is visibility?”
  • Resolved the IAVA patch errors
  • Attempted to locate the ISR PMO presentation from last week, apparently it is in a folder i don’t have permission to view
  • Rebuilt visibility, account managers, and ingest manager with the new compiler settings, will deploy tomorrow
  • Went back to site and deployed the rebuilt applications.  Everything works except for one small thing:
    • VisibilityScripting publishes an xml file on the server.  IngestManager can then import that file in to the Visibility database.  However with the current server set up, the validate URL fails.  I’m guessing because of certificate errors.

Phil 3.5.12

8:00 – 9:30 VISIBILITY

  • Checking up on email, trying to get access to the presentation slides for the demo, etc. I won’t steal Mikes thunder about progress with getting VISIBILITY swfs running

9:30 – 4:30 FP

  • Advanced Shaders (Chapter 11)
    • Geometry shaders run once per primitive. This means that it’ll run once per point for GL_POINTS; once per line for GL_LINES, GL_LINE_STRIP, and GL_LINE_LOOP; and once per triangle for GL_TRIANGLES, GL_TRIANGLE_STRIP, and GL_TRIANGLE_FAN.
    • GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_TRIANGLE_STRIP_ADJACENCY allow the geometry shader to get at the vertices that are adjacent to the particular piece of geometry that we’re interested in. I’d assume  that we can also manipulate those pieces, though I’m not sure that’s a good idea.
    • Convolution filters can be generated as a texture (even an image), and then used to modify what’s being rendered. For example, the following should be usable as a blur filter, assuming that the weights add up to 1.0 (which could be done as a pre-processing pass on the data before the texture is made):
    • Got the demo that uses a fragment shader to draw a Julia Set kind of working.
    • Tried to start Uniform Buffer Objects, but discovered that my brain was full.

Tom DeVito 3.2.2012

Start: 10:00

  • After a lot of fiddling around, I finally figured out how to group and space things in the pad2pad software.
  • Printed out the locations of the standoffs to make sure that everything will fit properly.
  • Started planning out the traces.  I need a 12 volt power source for the large amplifiers.  All the rest run on 5 volts.

End 6:00

Mike 3.2.12

  • Usual daily server and DB backups
  • Tested the rebuilt versions of ConnectionTest and Visibility, no good
  • Lots of emails inside to keep me busy doing non-development
  • Back at the office I am trying to match all compiler and library settings between PPM and Visibility as much as possible
  • Moved a copy of AccountManagers to the PPM project and compiled it
  • Copied some of the Visibility Documentation to a CD so I can answer some of the questions from curious people inside more quickly

Phil 3.2.12

8:30 – 1:30 FP

  • Really good page: http://www.opengl.org/wiki/Common_Mistakes
  • Advanced buffers – done
  • Fragment operations (Chapter 10)
    • Order-independent transparency using multisample buffers. Looks pretty straightforward. Need to add that. Possibly to ScreenRepaint?
  • Advanced Shader Usage (Chapter 11)
    • Physical simulation, such as meshes. Should be nice for network visualization…
  • Found the reason for why screenwidth must be a multiple of 4 (from http://www.opengl.org/wiki/Common_Mistakes#Texture_upload_and_pixel_reads):
  • Texture upload and pixel reads

    You create a texture and upload the pixels with glTexImage2D (or glTexImage1D, glTexImage3D). However, the program crashes on upload, or there seems to be diagonal lines going through the resulting image. This is because the alignment of each horizontal line of your pixel array is not multiple of 4. That is, each line of your pixel data is not a multiple of 4. This typically happens to users loading an image that is of the RGB or BGR format (in other words, 24 bpp image).
    Example, your image width = 401 and height = 500. The height doesn’t matter. What matters is the width. If we do the math, 401 pixels x 3 bytes = 1203. Is 1203 divisible by 4? In this case, the image’s data alignment is not 4. The question now is, is 1203 divisible by 1? Yes, so the alignment is 1 so you should call glPixelStorei(GL_UNPACK_ALIGNMENT, 1). The default is glPixelStorei(GL_UNPACK_ALIGNMENT, 4). Unpacking means sending data from client side (the client is you) to OpenGL.
    And if you are interested, most GPUs like chunks of 4 bytes. In other words, RGBA or BGRA is prefered. RGB and BGR is considered bizarre since most GPUs, most CPUs and any other kind of chip don’t handle 24 bits. This means, the driver converts your RGB or BGR to what the GPU prefers, which typically is BGRA.
    Similarly, if you read a buffer with glReadPixels, you might get similar problems. There is a GL_PACK_ALIGNMENT just like the GL_UNPACK_ALIGNMENT. The default GL_PACK_ALIGNMENT is 4 which means each horizontal line must be a multiple of 4 in size. If you read the buffer with a format such as BGRA or RGBA you won’t have any problems since the line is already a multiple of 4. If you read it in a format such as BGR or RGB then you risk running into this problem.
    The GL_PACK_ALIGNMENT can only be 1, 2, 4, or 8. So an alignment of 3 is not allowed. You could just change the GL_PACK_ALIGNMENT to 1. Or you can pad your buffer out so that each line, even with only 3 values per pixel, is a multiple of 4.

     

 

Tom DeVito 3.01.2012

Start: 10:00

  • Played around with the Pad2Pad software.  The last one I did was realtively simple so I had to figure out some of the tricks before drawing this board
  • The logical connection tool will auto draw the traces after you set what needs to be connected to what.
  • I want to use jumpers for the I2C addressing.  I found the slot, I will have to see where I can find the hardware for that though.
  • Drew up the basic parts that need to be included.  Measurements were done so hopefully I can mount the midi and large amplifier boards on standoffs to the board.  I am not sure but I might be able to print it out and see if the holes match up.
  • R rotates the piece you are placing.
  • Started drawing out the pre-amp circuit on the pad2pad program.  I figured it was best to start with the hardest part so if I have to move anything it won’t be that.

End: 6:00

Mike 3.1.2012

  • Usual server and DB backups
  • Imported a new version of the connection tester application built with different libraries, it works!  Now I need to figure out the differences.
  • Got status back on my Flash Builder request, i am still on the wait list
  • Compiling Feb status reports for the team
  • Had some issues with my internal email client, contacted EA and got it resolved
  • Still trying to work out issues applying patches to the site server, got directions to submit an EA ticket and submitted one
  • Dong found some sdk differences in the builds so I will test changing them to match PPM
  • Flex builder was apparently using libraries from 2 different SDKs for visiblity, account managers, and ingest manager (one dictated by maven and one by flex builder).  So i went through and remove one of them and rebuilt them.  They work on my local machine but that’s not promise the problem is fixed.
  • Also made a build of each using purely maven.  Watermarks may appear but if it fixes the connectivity issues we can address the watermark problems.
  • Hudson is still running on fgmdev.com but all the assigned builds got wiped out 😦  I added the vis data nav application and it built fine.  I probably won’t add the others but it’s always an option.
  • Hudson admin seems to be open to anyone as I didn’t have to log in, so either the builds were lost during the transfer of servers or some kind individual did some housekeeping for us.

Phil 3.1.12

8:30 – 10:30 VISIBILITY

  • Set up the root index page to point at working versions of the VISIBILITY system until we get everything working on one server.
  • Asked for the slides to the meeting yesterday. I’m thinking about using it to set up the slideshow for the demo.
  • Pinged Laurie about getting date information so that I can finish submitting my forms.

10:30 – 12:30 FP

  • Back to reading through the screen buffers chapter.

12:30 – 2:30 interview

2:30 – 4:30 FP

  • Some reading, some walking through the circuit board design with Tom

Dong Shin 03.01.2012

  • Feb 2012 Status
    • Bug Fixes
      • Fixed Auto-fill not working in Financial Data Entry
      • Fixed Contacts not populating properly in Funding Request
      • Fixed Project Assistant not showing correct status
    • deployment
      • assist in deployment of Project Portfolio Manager/Project Assistant
      • built new Visibility and VisibilityScripting for demo
      • trouble-shooting Visibility deployment issues
    • reverse engineeered Project Portfolio database to use in GWT/Spring using Spring Roo and Hibernate Tools
    • Struts/Spring/Hibernate training
    • working on Project Portfolio Manager and Project Assistant using GWT/Spring

Mike 2.29.2011

  • Usual server and database back up in the morning
  • Reproduced the server environment on my local machine at site, ended up getting the same errors, so I will at least have a better working environment than on the ‘production’ system
  • Attempted installing a working version of Visibility from Jeff’s sever, same issue
  • Contacted Jim and Tangie regarding internal testing of our tool, waiting to hear back
  • Contacted the software people regarding my request for Flash Builder, would be very handy right now
  • Went back to the office to rebuild my connection tester using different libraries
  • Also packing up other parts of my Tomcat Install to bring: crossdomain.xml, etc.
  • ISP PMO Symposium, 1300-1500

Phil 2.29.12

8:30 – 11:00, 12:30 – 3:00 VISIBILITY

  • Worked on getting Data Visualization working
  • ISR/PMO meeting from 1:00 – 3:00

11:00 – 12:30, 3:00 – 5:00 FP

  • Working on multiple rendering surfaces. For the trivial case, I’m going to try to take the blurred image and invert the colors.
  • Added definition of the vertex and fragment shaders in the ScreenRepaint class, since it’s pretty generic.
  • Took screen rendering out of the Gl_ShaderWindow base class and added two instances to the GeoTestShaderWindow. Everything works just as it should.
  • Meeting at UMBC on surface displays, journals and other things. Looks like I’m on a team to build a “Surface-style” interface for the visually impaired. Meetings are every Wednesday at 4:30

Tom DeVito 2.28.2012

Start: 10:00

  • Took inventory of what slots I will need to make the circuit boards.

end 12:30

Dentist Appointment : 12:30 – 2:00

Start: 2:00

  • Finished all the methods for sound control in the controller class
  • Started working on the command execution method.

end: 6:00

 

Mike 2.28.2012

  • Did the normal database backup this morning
  • Deployed a test client application to test remote object connectivity for Visibility on the client server
    • It reads all properties for the properties file just fine
    • It does NOT produce any errors while attempting to connect to the remote object, however it does not succeed either
    • There no errors indicating anything went wrong in any log files anywhere
  • Responded to several emails concerning the server going down yesterday
    • Apparently as soon as I submitted a ticket it was restarted which is what fixed the issue
    • The tech sent me an email at 9:40 when the server came up, my email server received the email two hours later…
  • Back at the office I tried debugging several items to figure out why Visibility is failing on the inside
  • Dong built a version of visibility which I will take back to try and debug
  • I will also try stopping and restarting the Tomcat server
  • Went back to site and tested the fixes, they did not help