Friday, August 12, 2011

Running in Circles

I had to go over the main office today to sign the Fall employment paperwork, but she wasn't there, so I had to go back over again later in the day... Anyway, that's done now.

Today, my plan is to implement the circular buffer for pulse data, the purpose of which is to allow us to respond in a timely manner to input-capture interrupts (to prevent pulses from getting lost in the datapath), while also streaming data out to the server over the network at a manageable rate.

Yesterday I wrote the buffer.h file defining the interface, and today I just need to add one function to it (pb_init()), and then write the buffer.c implementation, and test.

Today I also want to test Darryl's ICDP reset code, which he finished yesterday.

One more little thing:  Have the BUF_FULL interrupt request the main loop to stream out a notification of this event to the Wi-Fi port.  That's done...  I created a new module server.h to centralize the code to send messages out to the server.

At some point, we need to create a debug_level variable to allow us to suppress unwanted diagnostics from being sent to the JTAG debug port, since this slows things down.  We can have a standard set of levels such as DEBUG, INFO, NORMAL, WARNING, ERROR, MUTE (from most to least information).  Write a new module debug.{c,h} to keep track of that information.

Spent most of the day writing pulsebuf.{c,h} (new name of module).  Got it working right at the end of the day.  Now that it is working, I need to tweak a few things:

* Suppress the verbose pulse data diagnostics to STDOUT, to improve performance.
* See what the maximum throughput of pulses I can achieve is, without the buffer filling up.
* Write some server-side code to visualize the pulse data...  :)

This is a good stopping point for this week!

No comments:

Post a Comment