Copied over trunk code into rangefinder 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.
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.
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 circle formation behavior
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.
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"
Implementing function to calculate get_bom_vector() function. Added MATLAB script to assist in calculating the scalar value used to scale up the BOM unit vectors such that the worst case sum will not overflow an int data type.
Cleaned up the Circle behavior folder in the "formation_control" folder. Now compiles correctly with the current version of the repository library.
Making bom_get_vector() function which should eventually be placed into the library.
Added folder for basic Circle formation.Also included is the beacon robot code.
Could use some cleaning as it uses the lab 2 template as a base.
What it does: very basic Circle formation without much error checking.
Updated comments to correctly reflect the meaning of the x and y coordinates.
Progress on Push-Pull. Added a divide-by-zero check. Also fixed an error (added code to clear accumulators each time through the loop).
Wrote Push-Pull behavior to print the net BOM intensity vector over serial.
Updated Hunter-Prey implementation. Motors didn't turn off during wait state. Fixed now.
Commented the template file and my implementation of Hunter-Prey to make the code easier to follow.
Creating "template" to use as a starting point for developing new behaviors.
Cleaning up the template folder for behaviors.
Reverted "libdragonfly" folder back to version before Init Checking was implemented and did "make dist" to recompile the library. BOM LEDs now shine correctly.
Reverted to library before Init Function Checking to fix BOMs which did not work.
Updating Makefiles for Hunter-Prey implementations. Updating COLONYROOT location.
Adding my implementation of Hunter-Prey to the collection.
Cleaning up different Hunter-Prey implementations.
Moving behaviors from the "Projects" directory into the appropriate "Behaviors" directory.
Creating directory for "Push/Pull" formation behavior.
Creating repository space for Formation Control.
Making file naming consistent (use '_' to separate words, not camel hump).
program makefile can now autobuild the library
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
updated wireless library
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
updated library binaries and included header files
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