Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
34 changed files
with
3,642 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
Last updated 8/3/2011 | ||
|
||
|
||
This directory will contain a stable version for the code for the OctoROACH robot, | ||
intended to provide an "out of the box" working code base. | ||
|
||
|
||
|
||
Instructions: | ||
------------- | ||
To be done later. | ||
|
||
|
||
|
||
Python: | ||
--------- | ||
Running the OctoRoACH code will require you to install a python interpreter, as well as several libraries. | ||
|
||
For academic applications, a bundled product by Enthought (www.enthought.com) will contain most of these libraries. | ||
You MUST install a 32bit version. 64bit python is known to not have sufficient library support to work. | ||
|
||
Specifically, you will need: | ||
* pySerial | ||
* numPy | ||
* xbee-python | ||
|
||
- shared.py is used as a "global" module, to elide the need for long lists of "global" keywords in other scripts. | ||
*** IMPORTANT: Configuration of the COM port and baud rate of your Xbee/15.4 dongle is set by variables in shared.py | ||
- callbackFunc.py contains the callback function used by the xbee-python library. It is kept in a separate file such | ||
that any additions or changes will be synchronized across all the user's python scripts. | ||
A dictionary of packet formats is also located in callbackFunc.py. If you are adding a command to the robot, | ||
you must add the callback handler here, as well as the packet format. | ||
- command.py contains the command codes for the robot. | ||
*** Because the command set for the robot is not standardized or enforced in any way, you MUST manually synchronize | ||
the listings in command.py and cmd.c/cmd.h if any modifications are made. | ||
|
||
|
||
|
||
Firmware: | ||
----------- | ||
The firmware for the OctoRoACH robot is implemented in plain C, to be run on the dsPIC33g microcontroller on the | ||
ImageProc2 v2.4 board. | ||
The code has been developed and tested with the MPLAB C30 compiler, under and academic use license. | ||
A project file for use with the MPLAB IDE is provided; code was programmed to the board with a MicroChip ICD3 tool. | ||
|
||
The source code is in two locations: | ||
- lib/ contains code broken into modules, aligned to specific functions of the robot. See code comments | ||
for more information. | ||
- octoroach/ contains the MPLAB project files | ||
- octoroach/source/ contians the main.c, which largely just setups up the board and other modules, and cmd.c and cmd.h, | ||
which describe the command set that the robot will repond to over the 15.4 radio. | ||
*** Because the command set for the robot is not standardized or enforced in any way, you MUST manually synchronize | ||
the listings in command.py and cmd.c/cmd.h if any modifications are made. | ||
|
||
The project is delivered with a compiler directive error purposely inserted into a header file, where the radio settings | ||
defined. It is REQUIRED that the user modifies these settings, and comments out the error directive. | ||
|
||
|
||
There are several compile-time defines available: | ||
|
||
__RADIO_HIGH_DATA_RATE : operates the 15.4 radio in 500Kbps mode and accordingly reduces some feedback delays. Only use this | ||
option if you are using the Fearing Lab 802.15.4 USB dongle at 230Kbaud. | ||
__DFMEM_8MBIT / __DFMEM_16MBIT / __DFMEM_32MBIT: | ||
This option must correspond to the size of the AT45 serial flash chip installed on the boad. It is | ||
required to have at least one of these options defined. | ||
|
||
|
||
Radio: | ||
------------ | ||
The ImageProc2 v2.4 board uses an 802.15.4 radio for communication. Operation has been tested with an XBee module and the Fearing Lab 802.15.4 USB dongle. | ||
The user is required to review and change the radio settings before the firmware project will compile. No binaries images with pre-set | ||
radio addresses are provided at this time. |
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,250 @@ | ||
[HEADER] | ||
magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13} | ||
file_version=1.0 | ||
device=dsPIC33FJ128MC706A | ||
[PATH_INFO] | ||
BuildDirPolicy=BuildDirIsProjectDir | ||
dir_src= | ||
dir_bin= | ||
dir_tmp=.\obj | ||
dir_sin= | ||
dir_inc=..\lib;..\..\shared | ||
dir_lib=C:\Program Files\Microchip\MPLAB C30\lib | ||
dir_lkr= | ||
[CAT_FILTERS] | ||
filter_src=*.s;*.c | ||
filter_inc=*.h;*.inc | ||
filter_obj=*.o | ||
filter_lib=*.a | ||
filter_lkr=*.gld | ||
[CAT_SUBFOLDERS] | ||
subfolder_src=lib;shared | ||
subfolder_inc=lib;shared | ||
subfolder_obj= | ||
subfolder_lib= | ||
subfolder_lkr= | ||
[FILE_SUBFOLDERS] | ||
file_000=shared | ||
file_001=shared | ||
file_002=shared | ||
file_003=shared | ||
file_004=shared | ||
file_005=shared | ||
file_006=shared | ||
file_007=shared | ||
file_008=shared | ||
file_009=shared | ||
file_010=shared | ||
file_011=shared | ||
file_012=. | ||
file_013=. | ||
file_014=lib | ||
file_015=lib | ||
file_016=lib | ||
file_017=lib | ||
file_018=lib | ||
file_019=lib | ||
file_020=lib | ||
file_021=lib | ||
file_022=shared | ||
file_023=shared | ||
file_024=shared | ||
file_025=lib | ||
file_026=lib | ||
file_027=lib | ||
file_028=lib | ||
file_029=lib | ||
file_030=shared | ||
file_031=shared | ||
file_032=. | ||
file_033=shared | ||
file_034=shared | ||
file_035=shared | ||
file_036=shared | ||
file_037=shared | ||
file_038=shared | ||
file_039=lib | ||
file_040=lib | ||
file_041=lib | ||
file_042=lib | ||
file_043=shared | ||
file_044=lib | ||
file_045=shared | ||
file_046=lib | ||
file_047=shared | ||
file_048=shared | ||
file_049=shared | ||
file_050=shared | ||
[GENERATED_FILES] | ||
file_000=no | ||
file_001=no | ||
file_002=no | ||
file_003=no | ||
file_004=no | ||
file_005=no | ||
file_006=no | ||
file_007=no | ||
file_008=no | ||
file_009=no | ||
file_010=no | ||
file_011=no | ||
file_012=no | ||
file_013=no | ||
file_014=no | ||
file_015=no | ||
file_016=no | ||
file_017=no | ||
file_018=no | ||
file_019=no | ||
file_020=no | ||
file_021=no | ||
file_022=no | ||
file_023=no | ||
file_024=no | ||
file_025=no | ||
file_026=no | ||
file_027=no | ||
file_028=no | ||
file_029=no | ||
file_030=no | ||
file_031=no | ||
file_032=no | ||
file_033=no | ||
file_034=no | ||
file_035=no | ||
file_036=no | ||
file_037=no | ||
file_038=no | ||
file_039=no | ||
file_040=no | ||
file_041=no | ||
file_042=no | ||
file_043=no | ||
file_044=no | ||
file_045=no | ||
file_046=no | ||
file_047=no | ||
file_048=no | ||
file_049=no | ||
file_050=no | ||
[OTHER_FILES] | ||
file_000=no | ||
file_001=no | ||
file_002=no | ||
file_003=no | ||
file_004=no | ||
file_005=no | ||
file_006=no | ||
file_007=no | ||
file_008=no | ||
file_009=no | ||
file_010=no | ||
file_011=no | ||
file_012=no | ||
file_013=no | ||
file_014=no | ||
file_015=no | ||
file_016=no | ||
file_017=no | ||
file_018=no | ||
file_019=no | ||
file_020=no | ||
file_021=no | ||
file_022=no | ||
file_023=no | ||
file_024=no | ||
file_025=no | ||
file_026=no | ||
file_027=no | ||
file_028=no | ||
file_029=no | ||
file_030=no | ||
file_031=no | ||
file_032=no | ||
file_033=no | ||
file_034=no | ||
file_035=no | ||
file_036=no | ||
file_037=no | ||
file_038=no | ||
file_039=no | ||
file_040=no | ||
file_041=no | ||
file_042=no | ||
file_043=no | ||
file_044=no | ||
file_045=no | ||
file_046=no | ||
file_047=no | ||
file_048=no | ||
file_049=no | ||
file_050=no | ||
[FILE_INFO] | ||
file_000=..\..\shared\xl.c | ||
file_001=..\..\shared\battery.c | ||
file_002=..\..\shared\stopwatch.c | ||
file_003=..\..\shared\packet_queue.c | ||
file_004=..\..\shared\queue.c | ||
file_005=..\..\shared\at86rf.c | ||
file_006=..\..\shared\payload.c | ||
file_007=..\..\shared\ipspi1.c | ||
file_008=..\..\shared\radio.c | ||
file_009=..\..\shared\payload_queue.c | ||
file_010=..\..\shared\dfmem.c | ||
file_011=..\..\shared\init_default.c | ||
file_012=source\cmd.c | ||
file_013=source\main.c | ||
file_014=..\lib\adc_pid.c | ||
file_015=..\lib\dfmem_extra.c | ||
file_016=..\lib\gyro.c | ||
file_017=..\lib\motor_ctrl.c | ||
file_018=..\lib\move_queue.c | ||
file_019=..\lib\pid.c | ||
file_020=..\lib\steering.c | ||
file_021=..\lib\traps.c | ||
file_022=..\..\shared\delay.s | ||
file_023=..\..\shared\xl.h | ||
file_024=..\..\shared\utils.h | ||
file_025=..\..\shared\stopwatch.h | ||
file_026=..\lib\pid.h | ||
file_027=..\lib\adc_pid.h | ||
file_028=..\lib\motor_ctrl.h | ||
file_029=..\lib\cmd_const.h | ||
file_030=..\..\shared\payload.h | ||
file_031=..\..\shared\payload_queue.h | ||
file_032=source\cmd.h | ||
file_033=..\..\shared\packet_queue.h | ||
file_034=..\..\shared\queue.h | ||
file_035=..\..\shared\at86rf.h | ||
file_036=..\..\shared\at86rf231.h | ||
file_037=..\..\shared\ipspi1.h | ||
file_038=..\..\shared\radio.h | ||
file_039=..\lib\flashmem.h | ||
file_040=..\lib\move_queue.h | ||
file_041=..\lib\steering.h | ||
file_042=..\lib\dfmem_extra.h | ||
file_043=..\..\shared\dfmem.h | ||
file_044=..\lib\led.h | ||
file_045=..\..\shared\init_default.h | ||
file_046=..\lib\or_const.h | ||
file_047=..\..\shared\battery.h | ||
file_048=..\..\shared\generic_typedefs.h | ||
file_049=..\..\shared\gyro.h | ||
file_050=..\..\shared\mac_packet.h | ||
[SUITE_INFO] | ||
suite_guid={479DDE59-4D56-455E-855E-FFF59A3DB57E} | ||
suite_state= | ||
[TOOL_SETTINGS] | ||
TS{7D9C6ECE-785D-44CB-BA22-17BF2E119622}=-g | ||
TS{25AC22BD-2378-4FDB-BFB6-7345A15512D3}=-g -Wall -D__IMAGEPROC2 -D__DFMEM_32MBIT | ||
TS{7DAC9A1D-4C45-45D6-B25A-D117C74E8F5A}=--heap=4096 --stack=256 -Map="$(BINDIR_)$(TARGETBASE).map" --report-mem -o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" | ||
TS{509E5861-1E2A-483B-8B6B-CA8DB7F2DD78}= | ||
[INSTRUMENTED_TRACE] | ||
enable=0 | ||
transport=0 | ||
format=0 | ||
[CUSTOM_BUILD] | ||
Pre-Build= | ||
Pre-BuildEnabled=1 | ||
Post-Build= | ||
Post-BuildEnabled=1 |
Binary file not shown.
Oops, something went wrong.