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...
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.
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.
Merged new function to print BOM intensity histogram into the trunk.
Reverted "libdragonfly" folder back to version before Init Checking was implemented and did "make dist" to recompile the library. BOM LEDs now shine correctly.
Moving behaviors from the "Projects" directory into the appropriate "Behaviors" directory.
Making file naming consistent (use '_' to separate words, not camel hump).
Set up scheduler.c/.h files with headers comments.
Collecting necessary files to begin developing timer-based analog scheduling.
test of consolidating makefile
linearize_distance() uses new LUT mapped for (4-30cm) rangefinders. Accuracy +/- 10mm. Need more testing to increase accuracy -- should be able to get +/- 5mm.
another RAM check update
updating RAM check to work with linux
another modification to the RAM check
Tried to get it to work to no avail. Various small changes.
updated checksize in makefile
ref seems to work if everyone behaves
started on the ref bot, added some error checking to the testbenchsetting the channel doesnt seem to work, so everyone will have to use C
Added RAM size check to makefile for unit tests
Started work on reference bot
forgot to add test_initx.c
moved dragonfly definitions to separate header file
updated all the library code to have sensible _init behavior.Almost all of the library components have a global variable which gets set after init and the functions inside will fail with an error code if init has not been called. Also, the init functions themselves check this variable and will bail out without doing any damage if that init has already been called
put lcd and rangefinder lookup tables into program spaceremoved TODO inline comments from wireless library
Fixed tabbing/spacing issue
fixed some testbench bugs, added command line argument to specify wireless channel and more helpful output to the tester
update of includes in library, removed unnecessary calls to stdlib.h
added wait for keypress after each test
fixed testbench, now it works!also fixed hunter prey reference to allow packet type of 42, but there is still a bug in the reference WRT the latest spec because it waits indefinitely for an ACK
Removed hunter_prey.c from the testbecnh directory so it wouldn't try to compile for the computer
Bug fix with new BOM code
1. Alpha code to trigger the new wireless bootloader from the user program. Not tested Includes subroutine in the XBee library to reset the XBee's settings
2. New subroutine in the BOM library to more accurately estimate the position of the max reading using weighted average of the readings instead of max reading....
Added fflush(stdout)'s
Testbench compiles now
Changed include of wireless.h to relative path to fix testbench
Changed wireless include from automatic to relative path name.
Finished writing testbench for checkpoint 1.Note: This does not compile yet due to our incompetence.
updated xbee test - fixed xbee_init issue
added function to exit api mode on termination
Wrote first test for first checkpoint
Began creating testbench for Lab 2's first checkpoint.
test_xbee - checks address of xbee
seperated out hunter_prey tag function
removed several TODO comments.attempting to inline simple functions does not reduce compiled code size
Add new bootloader prototype supporting wireless programming
updated wl_basic code, docs, and test. it's ready to go.
Fixes #622.
encoders.h is not included in dragonfly_lib.h and encoders_init() is called within dragonfly_init().
updated wireless basic library code and docs
Includes working naive version of Target Practice
Renamed code folder for bot being tested to testBot.
Added BOM test code for general use.
Lowered the initial wait time for the target bot.
Updated code for testing BOMs. Added rudimentary diagram for analysis.
Added a folder for developing Target Practice Demo.
Added encoder_get_x and encoder_get_v.
use get_v at your own riskIf encoder_read returns -1, this usually means battery is low.If encoder_read returns a value greater than ENCODER_MAX, this usually means there are physical problems with the encoder.
fixed doxygen to call bom refresh
Removed while(1) to allow looping through different tests.
Changed rangefinder unit test to use all orbs and not take forever.
uses left and right motor in motor test instead of motor1 and motor2
motor 1 and motor 2 changed to motor L and motor R
Hunter-prey works! its a decent proof of concept but could use improvementusing robots Edgar (3), 7, 5
Hunter-prey sort of works!
Changed BOM threshold to 120, seems to be helping for some robot and causing problems for othershunter-prey is done except the hunting part
behavior without BOM seems to be working
Merged analog and bom changes from analog branch. Tested and working. Fixes #560
clean up test_dio.c compile errors
Fixed some Doxygen issues. Docs still need to be compiled, though
unit test created for buttons
test incorporates motors_off
Tested rangefinders to see if they are #define'd correctly. See data/rangefinder for details.
updated wl_basic with default packet handling
changed template main to use new basic wireless
added wireless test to unit test framework
Minor documentation improvements
fixes #570 avrdude port detection
Encoders unit test
Completed iterative test of functions in lights.h (aka LIGHT SHOW!)
Currently using orb_n_set and orb_n_set_color with indexing from 1. This breaks orb_n_set and orb_n_set_color as they are set to index from 0.
Need to document this using Doxygen
Turned on source browsing. This might fix our problems.
Updated and removed deprecated doxygen stuff from the doxygen config file.
Updated function name in test_rangefinder.c to comply with naming standard.
Created rangefinder unit test.
Changed name of rangefinder test to reflect name of rangefinder module. Updated main.c to reflect this.
fixed doxygen problems in wireless library, added new docs
adding wireless abstraction for high level packet sending and receiving
still buggy with analog_init
Added hunter-prey WIP code. There is a bug with using BOM and rangefinder
Moved prototype for linearize_distance and constants MIN_IR_ADC8 andMAX_IR_ADC8 from rangefinder.c to rangefinder.h. Added Doxy comments for theseitems. Realize that linearize_distance was probably intended to be hidden fromthe average user, but doxy errors compelled me to act.
Remove some unused code in encoders
Also update binary and docs
documentation fix
updated unit test of motors
test of usb read/write functions is successful
removed dragonfly_init() from each unit test and renamed files to comply with new naming convention.
changed main.c in the test project to call dragonfly_init
made the test framework a bit more clear (or maybe more confusing?)