Inserted linefollowing code into main.cUpdated test_ir unit test
Copied template to linefollowing directory
Removed the linefollowing folder
Accidently added linefollowing folder in /projects
Removed the _ from the function head in test_lights.c so all unit tests compile.
Unittests: Added test_ir.c to test new IR receivers for line following, and modified main.c to only use testir.
Added Butterworth filtering code.
update to test cases in trunk
Added diagnostic server stuff.
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...
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.
Clarified description of the usrBOMvals variable for the bom_get_vector() funcions.
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.
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 ...
Updated all makefiles. You may need to update the port settings to get your project to program the robots again.
Removed old rangefinder folder in trunk/projects. This folder has been moved to its own branch.
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
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...
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