Second: It came to me in a late night vision...I must fix this servo jitter problem. We must set a timer to interrupt for each bit so that we don't block for the whole incoming serial byte...this is going to get tricky!
Third: The hockey game was really exiciting tonight. What a comeback! We won in a shoot-out. I thought we were going to lose for sure.
Fourth: Those dogs next door are annoying. They made me miss my Sunday night required TV viewing. I blame them completely.
Quick fix to the weblog here: I noticed that the hour and day both had leading zeros, which isn't really necessary, so I changed it up. Should look a little better, but I guess I'm just being picky. :-)
Ok, more news on the PIC based serial servo motor controller. I'm now on code version 4. What does this mean? Here's the run down:
Independent control of 8 servo control channel pulses. Interrupt driven ASCII serial port routines to set the requested servo to the requested position (0-255) (these work!).
When I scope the output signals, the appropriate channel's pulse width changes as expected! This is a major accomplishment...however...
It seems that the servo isn't moving through its full 180 degree range. What's the deal with this? I guess I'd better to try another motor, then check my references to be absolutely sure that the timings that I used in design are correct.
After I fix the servo range problem, it's on to adding the query command, perhaps using a binary mode (based on a jumper?), and then eventually doing some board layout.
Significant progress made on serial servo controller! Yippie!
Note to self: ALWAYS, that is always remember to use the second parameter on MOVF calls. Without it, the assembler will default to 1 and the behavior is probably not what you wanted. :) This is actually what caused me the most problems...
I'm controlling 8 independent servo channels now...all variable, all on PORTB. I've done some pretty detailed scoping of the timing signals, and all looks good.
Next step: Hack a fix to move behavior for RB0 to RA4 so that RB0 can be used for serial interrupts. Then implement serial interrupts. Then actually use the serial data to change position variables.
Ok, so it's official. I have over 24 hours of WCSB (www.wcsb.org) recorded in mp3 format. I'm addicted to the Noise Rotation. If you're bored on Monday nights from 10-12 (central), give it a listen. Sometimes it is much better than other times...but overall I love it. So I spent some time getting up to date on trimming the recordings that I hadn't manually processed since our vacation.
Werd. Big money props to my gal Queenie who found my damn check book late last night. I thought I was screwed...but alas she discovered its sneaky hiding spot in the remote corners of the bathroom (of all damn places!)
I did some additional development on my PIC based serial servo controller last night. I'm still a long ways off from being finished, but maybe I'm a step closer. Serial port is invaluable as debugging tool (sometimes). Maybe I'll throw up a page for the controller under "electronics" sometime.