-
Notifications
You must be signed in to change notification settings - Fork 2
Drivers
John Marquard edited this page Mar 1, 2015
·
9 revisions
- Communication Drivers
- Board Drivers
The Drivers are located in src > Drivers
.
Each driver will have it's own folder located src > Drivers > DRIVER_NAME
, with the driver *_drv.c and *_drv.h files within. The driver files should be appended with _drv.
The Atmel drivers are found in src > Drivers > asf
.
Drivers will be split into two categories:
- Low level drivers written by Atmel/Other Chip manufacturers.
- The low level drivers should keep the same folder/code structure as provided by Atmel
- High(er) level drivers written by us for BLUEsat boards
- The BLUEsat drivers will be things written by us used to control the boards and low-level things not currently handled easily by the Atmel drivers. Examples include:
- DebugWrite (through UART)
- TransmitStringToEarth (*char outputBuff)
- ReadCommandFromEarth (*char inputBuff)
- SetAttitude(int angle1, int angle2, int angle3)
Instructions if you need to add a new driver:
- Open Atmel Studio. Go to Solution Explorer.
- Drivers go in
src > Drivers > DRIVER_NAME
- Right click on parent folder in context menu
Add > New Folder
- Close Atmel Studio.
- Open the *.cproj file a text editor.
- Add the path directory under the following folders 4 places:
<Project ... >
<armgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>../src/Drivers/DRIVER_NAME</Value>
<armgcc.preprocessingassembler.general.IncludePaths>
<ListValues>
<Value>../src/Drivers/DRIVER_NAME</Value>
</ArmGcc>
<armgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>../src/Drivers/DRIVER_NAME</Value>
<armgcc.preprocessingassembler.general.IncludePaths>
<ListValues>
<Value>../src/Drivers/DRIVER_NAME</Value>
- Save the file.
- Open Atmel Studio.
- Add *.c and *.h files; they can now be linked
Note: You should be able to do this within Atmel without closing it but we couldn't save our changes.