Modified spi.c/h. Sends 1 packet before failing. Funny light blinking thing happens when sending, no idea where that came from. It looks like the orbs are used as transmit lights but there's no code for that as far as I know.
worked on lights driver, set up everything except a sort and a time-split calculating method
Lights branch
Further work on SLAM...
battery code now works
Non-working update to wireless, sending separate packet for passing the token.
removed any conflict with other fsm variables.added tentative orbit stop, which needs encoders to be accurate.
change battery() to battery8()
made a copy
Created a branch for wireless development.
Did some slam work, trying to get together a good statistical way of reading range values.There will be experimenting.... boring horrible experimenting
added orbit fsm
Modified the spi module a bit. Didn't test it but this might be better. Need to talk to Ben about it.
Started the encoders file. Nothing in there because I don't have a stable SPI interface to work with yet.
made orbit branch
create orbit branch folder
slave -> master kind of works
SPI test code update
wrote wrapper functions for new BOM code. also added compiler warning (for deprecated functions) to bom.h. it will show up whenever something that includes bom.h is compiled. have yet to merge new BOM code.
update assigning bay based on battery reading (seeking robot), also fix some bugs
tested/fixed new BOM code. bom_refresh() did not use the lookup table before calling analog_get8(). but now it works. run main in template directory to see new BOM buffer compared to old get_max_bom() values.
Laid out what I think will be the structure of SLAM for colony. This is an interesting project, and I think my strategy is a good one. It's laid out in the file server_main.c so read it if you're interested. I threw together the bare bones, but I realized that I might need to change my data_request code so that the order of packet arrival doesn't matter.
works for real this time! I haven't tried actually running a current through the board, but without that it shows proper debug values and Robot Debug/main.c formats them nicely!
I2C works! and by works i mean it sends some stuff and then crashes Tera Term
Commented a bit, just getting ready to start SLAM work in earnest.
Added the data response code to the slam project folder
Cleaned up to begin anew with the new data response code.
Fixed the BOM response code, needs to be tested.
IT WORKS! i cleared portb. oops.....
First crack at BOMv1.5 driver code. Pindefs are correct and the existing functions still work. At the moment the main function controls the clock and data of the rbom so you can shift things around. TODO: get bom_set_emitters working to correctly shift 16 bits around. Eventually this will have to be merged with the new bom code that James wrote, probably manually.
SPI Master->Slave works. Slave->Master not working yet. /template/main.c has the test bench. Yay!
The lib things were just because of a few recompilations.Data requests project works for IR, the problems with IR were almost definitely the problems with the others (encoder / BOM data).I'll fix the code for those next time, and then begin work on encoders....
who knows?
Add battery stuff to charging station
deleting rbom branch since it was done wrong the first time
added constant for battery packets
added battery level request handling and sending
Branching for BOM v1.5 testing
forgot the Makefile
working on getting I2C working. its not.
Changed formatting so that it isn't as messy. Probably won't compile. Still probably doesn't work.
We're ready to do a two robot autonomous recharging video with run around, aside from some docking problems. There seem to be wireless issues with three robots, however.
Minor updates to recharging, but the charging board no longer appears to tell us when we're done.
Rewrote bom.c and bom.h for the new analog8 code and for compatibility with bom 1.5 and rbom. BOM values are now buffered and updating them will require a call to bom_refresh. Old bom function calls have been left for backwards compatibility, but are now ...
rangefinders work w/ buffer.new function names:- analog8() = use buffer- analog_get8() = direct
Kevin you suck. -- Chris Your code does not compile. --Brian and Chris I changed analog8 to be what you had as analog_get8, and I did change the methods used in rangefinders and BOM.
Commented analog.c and analog.h.
Brian forgot to update bom.c and rangefinder.c to use analog_get8 and analog8 respecitively when he swapped the function names in analog.c. This has been fixed. Code not tested or compiled but should be ok.
Copied new analog code into recharging branch.
Recharging still doesn't work with analog - analog not giving correct values.
Analog out of bounds memory access error fixed.
SPI update, still not functional
Removed dos line break.
Updated BOM and rangefinder to use new analog. Entering alpha testing phase.
analog works on updating. Need to do code cleanup. Tested everything except analog8 and analog10.
Uploaded excel worksheet documenting voltage experiments.
GUI battery meter added
updated lemmings - smoother leader transitions
Minor changes. Uncommented some sections to test voltage readings. Deleted old counter variable that is no longer used.
Fixed some analog issues. Doesn't work right now. Got it ready to test though...
Changed interrupt value.
updated lemmings code
following is smoother, no spinning in circles
Got the data response to work, however analog8 reads are failing to get good data.
deleted lib_additions branch...hope this works
More symlinks!! I'm trunkified, and you are not!
SymLinks!!!
ASDF
Deleted the publication folders to cut down on the transfer time/amount.
fixed text widths
fixed up the board layout for fabrication
Converted analog function to use interrupts and continuously poll. Need to test it.
Functions in the library that depend on analog will need to be updated to take advantage of this when it works.
Got put_usb functions working with battery functions. Code has formatted output of all 3 functions over usb.Note: Make sure maud rate is correct in Tera Term to obtain usb output from robot.
lemmings: modified turning and speed slightly to allow for better straight line following
fixed robot debug part
PWM hack works in that it increases frequency. I2C breaks everything. Added robot debug code which will just print everything it gets from i2c... hopefully
Got basic programming capabilities working on laptop. Did minor tests with orbs and motors.
Note: Check device manager to determine port for programming to Robot.
First attempt at the frequency hackNOT TESTED ON THE BOARD!
Battery testing branch. Used to explore and work with battery voltage readings and assessing how much battery life is left.
looking at code and trying to figure out how to get cv data from server
cleaned up lemmings codeadded more comments
updated timer rtc_add_function and implemented a rtc_remove_function
Finished encoder board. Waiting for team verification.
branching to "formations"
more lemmings
fixed up lemmings
moved lemmings dsschult to just lemmings
more code shuffling
fixed lemmings dsschult style
Updated recharging code.
update lemmings branchupdated smart_run_around code to latest version
for lemmings_dsschult:leader state worksfollower state has sensor matrix and/or bom issuessuggest test when no one else is using wireless
Somewhat working version of recharging.
added my lemmings code