Updated counting robots to work for circle formation. Movement is problematic.
wl updates: compile issues
Added wrappers to wireless_send.c. Need double checking.
Added diagnostic server stuff.
wireless: software retransmit done. serial functions moved to xbee.c
Small changes.. I definitely wouldn't use this for anything yet.
Added some test files for fixed point math.
Something definitely broke in cosine when I changed to smaller tables (which shouldn't have sacrificed any accuracy). Need to investigate...
wireless: more xbee.c updates
wireless: xbee update. still not finished, but the major changes are in here. Also added a function for microsecond delays to time.c
Added rangefinders directory to tools.
Added new software for basic analysis of IR data to be used with the IRcycle.c tool. Native Windows build only for the time being.
implemented wireless init, terminate, register, and unregister
Getting versions of circle.c in sync
Added comments and minor changes to circle.c
Removing the old circle-circle2 versions of the code (2)
Removing the old circle-circle2 versions of the code
removed .a library files from the repository. These will be automatically generated by the Makefile now
Included working functionality for Beacon to get acks from each robot.
wireless: update to the receive buffers
wireless: changed packet handler function notation
Wrote basic receive function in wireless_receive.c. Added an error code forhaving too short of a packet destination for basic receive function (maybe canalso be used by other packet handlers) in wl_defs.h. Added packet buffers forbasic packets and other types of packets in xbee.c.
wireless: added define for basic group
wireless: core send function and ack function done
Implementation of exponential. Not tested, don't even know if it works at all.
Cut the trig table sizes in 4 w/ symmetry, etc.
Lazy implementations of sine and tangent (that justuse cosine indirectly).
Addressed edge cases.
Needs EXTENSIVE testing to get a good grip on error bounds.
wireless branch, doxygen fix
corrected doxygen issue in wireless branch
Clarified description of the usrBOMvals variable for the bom_get_vector() funcions.
editing wireless branch, added error codes and constants
Tried to use bom_get_vector instead of bom_get_max.It works for the master (still need works), not for the slave (still need to figure out why)
Initial pass at a 32-bit fixed point library.
- Generated cosine / sine tables, put them in PROGMEM
- Wrote initial quadratic interpolation cosine function. ... not safe to use yet, but it seems to work for non-edge cases. Need to write a better way to test it.
added doxygen info for wireless branch
update to wireless api, added comments
added prototypes for the public api functions for the new wireless library
creating backup of libwireless in wireless branch
Working scheduler.
Booyakasha.
svn is being wonky...
Changes to the scheduler, still doesn't work.avr-gcc has its own convention for saving stateon entry and exit that's the same every time, soI lean on this now to restore the context.
I think that it's very close, my guess is that when new tasks are launched, RETI is ...
Added get_ir_offset to eeprom and changed program_eeprom.c so that it can read and modify them.
working version of wednesday 18 nov
Final clean up of ir_branch folder. Now should Make correctly.
Cleaning up ir_branch to Make correctly.
Fixed beacon robot wireless and working on Edge robot wireless
Fixing tools to Make correctly in Trunk. Reorganizing ir_branch to Make correctly.
deleting branch because i didn't branch the whole trunk before
changes of wednesday 18 nov
updated baud rate code (it works for 9600 and 115200 now, haven't tested the others)
Updated all makefiles. You may need to update the port settings to get your project to program the robots again.
added speed test behavior to wireless branch (this is where I'm testing the baud rate, which still doesn't work)
Fixed Makefile for circle_spacing behavior. Now links to the repository library.
Submitting circle spacing code. Will evenly place the robot on the circle.
Adding folder for circle spacing code. Behavior should attempt to space robots equally on a given radius of a circle around a central robot.
Cleaned up accidental commit of include folder and bin folder.
Circle Formation: added wireless and updated
Removed old rangefinder folder in trunk/projects. This folder has been moved to its own branch.
Converted Circle formation to a state machine
Copied over trunk code into rangefinder branch.
Added branch for finding rangefinder offset values.
Updated IR rangefinder lookup table. Now reports in millimeters with an accuracy of +-10mm.
Updated rangefinder.h with new MIN_ADC and MAX_ADC values
found one bug and changed some debug prints
Broke build.
Fixes..
Defaults to main, Creates launch stacks (just realized this is sort of backwards), Returns to tasks that are already running.
I gave the scheduler a crack based on avrOS and the code from 18348 that I think caused John to add these skeleton files.
Very very basic preemptive task scheduling that runs through the list of tasks, checks if they are ready to run based on a timer period...
Added a bunch of debug prints to the library
Changed Push-Pull to display BOM histogram as well as net IR BOM vector. Changed BOM Tracker to print an x,y pair separated by a comma so the data can be saved and read in by MATLAB for analysis.
Removing bom_refactor branch now that net BOM IR vector functions have been merged into the trunk.
Edited BOM Tracker project Makefile to make correctly. Removed old test file for net IR BOM vector from behaviors folder. Cleaning up Push-Pull behavior to remove code which was moved into BOM library.
Renamed old file used to test net BOM IR vector calculations to new BOM tracker file.
Copying over files originally used to test net BOM IR vector calculations. They will now be used to try tracking the location of one robot in 2D space.
Created project directory to investigate using the BOMs to track robots in 2D space.
Merged new BOM vector functions into the trunk and did a "make dist" to recompile the library. Also brought over C file used to test new BOM function behavior.
Added compiled binaries to bom_refactor branch. Also edited Push-Pull to test functionality of new BOM IR vector functions.
Added two BOM IR vector functions to calculate resultant IR vector and normalized resultant IR vector.
Copied trunk code into branch to develop function to return net BOM IR vector.
Creating branch to develop function to return net BOM intensity vector.
Removed the bom_refractor folder since the BOM histogram function has been completed.
Recompiled library to incorporate new BOM histogram print function. Push-Pull behavior currently prints the BOM intensity histogram and the resultant vector over USB.
Merged new function to print BOM intensity histogram into the trunk.
Finished function which prints the BOM intensity histogram over USB. Will print nicely in both windows and linux (uses "\r\n"). Will accept an array pointer to print values already collected, or it will recollect current values and print.
Copied code folder from the trunk into the bom_refractor branch.
Creating branch for adding BOM functionality to the library.
Cleaning up folders added for demonstration purposes.
Added comments to circle formation code
Made changes to newfile.c
Added newfile changed main.c in james dummy folder
Added danshope
Changed main.c in james dummy folder
Added dummy james folder
updated library to add DRAGONFLY_DEBUG stuffCan now call make debug which will recompile the library with debug flags!
Updated circle formation behavior
created init_refactor branch for fixing the init functions without breaking everything
Updated BOM Vector Component Table calculator to round towards 0 instead of rounding towards -infinity. This makes vector components symmetric around 0 and within error bound calculations.
Remove template "main.c" file. Appropriate Circle behavior code can be found in "circle.c" file.
slightly modified makefile, added more error checking to bom beacon code
Edited BOM Vector Component Tables with values which will gaurantee that worst case net vector sum will not overflow an integer data type (16 bits). Also changed Makefile to have TARGET=push_pull. Also added functionality to MATLAB script so that it will automatically calculate the BOM Vector ...
Renamed Push-Pull behavior code file to "push_pull.c"