Difference between revisions of "Microchip tools"
m |
m (→python support scripts config) |
||
Line 63: | Line 63: | ||
A file that describes the directory structure of the project needs to be placed in "support_scripts" (which lives in the "project root directory" | A file that describes the directory structure of the project needs to be placed in "support_scripts" (which lives in the "project root directory" | ||
− | * Edit the file "support_scripts\python_paths.py", so | + | * Edit the file "support_scripts\python_paths.py", so its variables point the root of your project tree (c:\src\my_trunk). Here is the default python_paths.py : |
# specifiy the location of the project root directory: | # specifiy the location of the project root directory: | ||
Line 74: | Line 74: | ||
* the string "c:/src/this_project_root_directory" is replaced with your project root, | * the string "c:/src/this_project_root_directory" is replaced with your project root, | ||
− | |||
=connect to the target (Pic32 or robot)= | =connect to the target (Pic32 or robot)= |
Revision as of 15:08, 22 September 2010
- BiomechDocs BL Knee PFresearchE
- Biomech Documentation links:
- AKCPU2z BLMD6c BLFT6c PSER1c Imu_2010 Emg_2009 Ric Upd_pcb
- Microchip Tools For Coding, Programming
Contents
Install software
- Install MPLAB IDE and other Microchip tools
- for dsPIC33 and PIC24 : C30 C compiler V2.05 and then license, then install the C compiler V3.23
- for PIC32, install C32 compiler
- Install python 2.6.4 and support modules Python2.6 32 bit version (Python 2.5.4 or 2.7.x may also work)
- Install development support tools (SVN client, win merge, grep, Baregrep, Visual Studio for IDE, editor, etc.) Dev support
- To use the PSERxx wire connections, install drivers for FTDI CHIP FT2232H [1]
- Top level tools
Get the Firmware
Get source code and support scripts from SVN server (user biomech, password:biomechXXX where XXX is the primary lab room number)
- To do this, launch SVN's repo browser (left click on a directory) find Tortoise SVN and then repo browser
- Paste the above URL into the browser and supply the user / pass when prompted
- Locate 'trunk' in the repo browser explorer window, then right click and select export. Use a local directory such as: "c:\src\my_trunk". This directory will be called the "project root" directory.
- When the export is complete, you'll want to make a copy and check it into a your own revision control system.
example directory structure :
c:\src\my_trunk\ support_scripts KneeController MotorController StateController
Config
mplab IDE config
- This IDE can be used to both edit and compile/build/program
To load a PF project, the default settings of the MPLAB IDE need to be changed:
- open "MPLAB IDE"
- Under Configure -> Settings select the "projects" tab
- Uncheck the "use one-to-one project-workspace model"
Some other suggested changes:
- From the "other" tab, select "automatically reload"
- From the "workspace" tab, select "no", "reload last workspace", and "always show full path"
Some programmer settings could also be changedLLLLL9
- Select Programmer -> settings and then "Program after successful build"
After this works, try to open and compile a workspace/project.
- From MPLAB IDE, select "File, Open Workspace"
- Navigate to "trunk/StateController" and open "sc_workspace_mit.mcw" (or similar)
- Ignore complaint about files having been relocated.
- after it opens, press "Ctrl F10" to do a "make clean" followed by "make all"
python support scripts config
The python interpreter needs to be added to the system path. Some other's explanation: Win7 Vista XP for Java
My version:
- Ctrl click "My Computer" and then select "Properties"
- From the new object, select the "Advanced" tab
- Select "Environment Variables"
- To the "PATH" variable, append "c:\python26;"
- The path variable may exist under "user variable" or "system variables"
- Verify that python is in the system path by starting a command shell trying to run python
A file that describes the directory structure of the project needs to be placed in "support_scripts" (which lives in the "project root directory"
- Edit the file "support_scripts\python_paths.py", so its variables point the root of your project tree (c:\src\my_trunk). Here is the default python_paths.py :
# specifiy the location of the project root directory: FIRMWARE_BASE_PATH = 'C:/src/this_project_root_directory'; # specify the location of critical files in the project EEPROM_KEYS_RELATIVE_FNAME = 'StateController/eeprom_keys.h'; IOCHAN_RELATIVE_FNAME = 'StateController/Infrastructure/io_chan-rev2x0.h'; SC_GLOBAL_H_RELATIVE_FNAME = 'StateController/global.h'
- the string "c:/src/this_project_root_directory" is replaced with your project root,
connect to the target (Pic32 or robot)
All the tools below live in the directory "support_scripts". Open a command shell and CD to that directory. Python is needed to run them and should be in your path.
wifi_fast.py
wifi_fast.py is the primary utility for receiving real-time telemetry from the target. It makes connection to the target via either a standard RS-232 serial port, or via a TCP connection. Once connected it reads telemetry, can log the data to a file, and can send the data via UDP for real-time plotting. It also sends keyboard characters to the target which can then be read via the C function 'getchar'.
- get help with wifi_fast.py -h
via a wired connection
via a wireless connection
- Make sure you make a coonection with the [access point http://bmech4.media.mit.edu]
- also ping bmech4.media.mit.edu
From the support scripts folder run :
do_command.py
do_command.py is used to send 'special' commands to the robot.
do_command.py -h
robo_config.py
robo_config.py is used to read / write the robot's EEPROM and to read some the data structures in RAM.
robo_config.py -h
other tools
dataport
- in the SC file "dataport.c" there is the statement : switch(sc_dp.dataport_select)
- for each case, there are a number of assignment of robot variables to variables of the form "pf[n]".
- the special command "157" is used to set the value of the variable "sc_dp.dataport_select"
- thus the command "do_command.py -i IP_ADDRESS -s 157 1" sets dataport select to 1.