fixes #570 avrdude port detection
Matched this main.c to /trunk/code/projects/test/main.c
Changed all tests and main.c to copies of those in trunk/code/projects/test
Measured timingFixed interrupt handler bug
Fixed synchronizationTested robustness
Cleaned up lights.hImplemented predefined color settingImplemented binary/PWM mode switching
Saved 53%-62% processor time on orbs sorting
Bugfix: Orbs not turned off at the beginning of the PWM cycle.
Added atomic.h from the avr_libc (according to the documentation, it should be in the avr_libc distribution, but it seems to be missing)
Implemented triple bufferingOptimized sorting
Fixed timingProfiled sorting
Implemented lights sorting, interrupt handlers
Basic orb PWM functionality on Timer0
Test code to clarify timer operationCreated data structures
Fixed whitespace at the end of eeprom.hImplemented binary orb settings
Added functions for printing hexadecimal numbers to USB, see serial.h
Prepared the library for refactoring- Added a library_test behavior (general testing playground)- Modified projects/libdragonfly/Makefile and behaviors/library_test/Makefile because there is no code directory in this branch
Branch for the library fixes
Bugfix: BOM_S2 and BOM_S3 were switched, resulting in wrong addressing of the BOM detectors (0 1 2 3 8 9 10 11 4 5 6 7 12 13 14 15).
First attempt at a probability density mapper. Unifinished.
Made some additions to rayHits.c
Not really useful, just for me
Changed the robot dir to drive and added a dir to work on autonomous mapping
Small modifications to receive.c, corrected an errorin the ring buffer. Some commenting and cleaning.
Succesfully tested BOM LED current.
Corrected Makefiles to work inside the trunk.
Moved diagnostic station workspace to trunk.
Moving Diagnostic Station Workspace from branches to trunk.
include path was fixed. AVRDUDEPORT was changed to com4 instead of the usb/tty thingy
Updated with fixes to bom.c
only newline differences
Fixed some errors due to BOM being used instead of BOM10
Added newline at the end of the file. Take that, gcc.
Having trouble with wireless (I think) hopefully this will work by friday.
tested a bunch of different environments for mapping
Switched wl_init and wl_set_com_port in test.c (again?)
Changes all around. Matlab server is now passive, might work soon.
added thing to program eeprom BOM ids and robot id over usb
Added the data files for real this time
Ran some tests in different environments. Data is in 1, 2, 3.txt
calls to wl_init() and wl_set_com_port() were inverted
test takes an argument for the USB port #, but it doesn't commit a memory error like it did last time I committed
test now takes a second argument for the USB port number
sorry...didn't mean to commit odometry.c
minor changes to remote control / mapping code...wireless control works with libwireless reverted to rev. 887. code in odometry interrupt conflicts with motors, not allowing the robot to move motors in response to commands.
Wrote some code to test wireless communication between the computer andthe robot. Right now, it doesn't work.
now it will work
Small changes - new file just waits for packets to bufferfor matlab, so the robots will decide when to send theirdata in this version.
Cleaned up test.c and robot_main.c in mapping.
Minor modifications and fixes. Haven't gotten it to work yet.
Small changes and comments.
Changed receive to work when there's no data,haven't tested for when there is,test.c works as expected,Makefile modified to work on receive.c on a linux machine with matlab.testing robots pending - not hopeful - see code.
added test for motors. it just runs the left and right. this can be improved.
Slight corrections to this file. I have no wayof testing without a computer with matlab/linux.
If anyone knows windows threading I'd be much obliged. Alternatively, if anyone knows if thereis an accessible build of gcc higher then version 4 on andrew unix let me know.
Just some test code to see how concurrency works in matlab functions.
Added some test code for the receive function - does not work asI can't get the token ring to start up. receive.c needs to be ona matlab computer to be compiled and run correctly (mex receive.c -lpthread)
Wrote mex file code to interface between matlab and the wireless library.
testing commit on new svn (just template directory)
Added a odometry_velocity function that gives approximate speed of the robot in mm/s.
Added symbolic links to the odometry in mapping to the library, and provided documentation.
extension of update to eeprom/bom/init. this is just the include files and the library archive.
Integrated new BOM1.5 compatible code. Also put eeprom code for reading ID and BOM type from EEPROM. will need to program each robot's eeprom separately later. This has been tested and verified to work on robots with different BOM types.
added a test for lights/orbs.
Prototype JNI (Java Native Interface) for libwireless. Compiles, and java loads the library, but untested with a real scenario or hardware.
added passing of overhead camera image to client through PHPfixed unfreed memory in server/vision/savetonetwork.c
OpenCV now works directly with firewire, coriander is not neededNew vision algorithm integrated, a few issues left with algorithm that tracks the movement of a specific robotRemoved experimental interface to send images over commands socket --plan to use php in webserver instead...
New vision algorithm utilitizing Hough Transform and edge detection instead of the older one using ellipse fitting and thresholding
Incremental update; working on: - new vision algorithm utilizing edge detection instead of thresholding - sending camera images over sockets instead of using the webserver
untested realtime ir plotting
Realtime position plotting
A working server, with debug printing, some mapping capabilitiesPartly for testing
changed xbee packet handling, added more info for unexpected packets
sample maps created by pushing the robot around a table (3 or 4 walls)
Nothing was fixed nothing changed.
updated server-side mapping code (remote control, etc)
added odometry to robot mapping code via symlinks to justin's odometry code
Odometry committed. New version is more general, but still drifts to zero.
cleaning up robot code for mapping
Odometry will temporarily not work. Working code commented out. This commit is so the blight on the world that is colony math.h will be eradicated for all time.
Fixed error when getting xbee address during init on computer
added model, whoops
driving code interprets odometry data correctly, uses non-blocking key listener and can receive packets continually
added ideas on multi-robot behaviorwill turn into actual code eventually
updated robot and server code to use odometry. having problems with theta because it is a double (4 bytes on robot, 8 bytes on server)
Odometry works but the precision is awful. Angles are measured fairly accurately, but distance readings are consistently lower then expected.
Robot sends updates 50 times per second. Robot remote control program doesn't mess up terminal upon exit.
fixed output filename and unsigned data
Realized local encoders file was still in the repository.
Quick update before I do something stupid.
remote control of robot and data output for matlab
Code that converts data from the robot into a plot
Compiles now. This code worked a while ago but I haven't touched it since early last semester.The idea was to do exactly what Abe is doing now... so it might be useful.
added range_init() call to dragonfly_init(). you will no longer have to call range_init() separately in your programs