Skip to content
John Marquard edited this page Mar 1, 2015 · 9 revisions

List of Drivers

Drivers' Location

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' Note

Drivers will be split into two categories:

  1. Low level drivers written by Atmel/Other Chip manufacturers.
  • The low level drivers should keep the same folder/code structure as provided by Atmel
  1. 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)

Adding a new driver

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.

Clone this wiki locally