diff --git a/README.md b/README.md index 060eb4c8f67f399593f4ebf6c608ee427b67a931..ba58e398c93e8e24e45d6cfe10952add16cb4d89 100644 --- a/README.md +++ b/README.md @@ -12,45 +12,45 @@ This repository holds all the firmware used within SUSFT on the various microcon ## Documentation ### Atmel Studio and Arduino - Most firmwares are built, compiled and uploaded through within Atmel Studio, as it provides features that make this process easy, such as - built in support for importing downloaded Arduino libraries easily and native support for the avr toolchain. - - Atmel Studio can be downloaded [here](https://www.microchip.com/mplab/avr-support/atmel-studio-7). - Arduino IDE can be downloaded [here](https://www.arduino.cc/en/Main/Software). +Most firmwares are built, compiled and uploaded through within Atmel Studio, as it provides features that make this process easy, such as +built in support for importing downloaded Arduino libraries easily and native support for the avr toolchain. - In order to upload and ensure compiliation to work, you **MUST** have the Arduino IDE installed in the default location of _C:\Program Files (x86)\Arduino_, - since Atmel Studio requires files from the Arduino IDE install, and will look for them in the default Arduino install location. +Atmel Studio can be downloaded [here](https://www.microchip.com/mplab/avr-support/atmel-studio-7). +Arduino IDE can be downloaded [here](https://www.arduino.cc/en/Main/Software). + +In order to upload and ensure compiliation to work, you **MUST** have the Arduino IDE installed in the default location of _C:\Program Files (x86)\Arduino_, +since Atmel Studio requires files from the Arduino IDE install, and will look for them in the default Arduino install location. + +The uploader used is avrdude which is provided by the Arduino IDE installer. Atmel Studio can upload compiled programs through the provided avrdude by adding it as an external tool, +this is done by tools->External Tools...->Add. This allows you to add a new external tool which Atmel Studio can invoke to upload compiled Debug or Release .hex files. +Debug and Release .hex **Have** to be added seperately, below is an example for adding the Arduino Pro Mini for both Debug and Release versions: - The uploader used is avrdude which is provided by the Arduino IDE installer. Atmel Studio can upload compiled programs through the provided avrdude by adding it as an external tool, - this is done by tools->External Tools...->Add. This allows you to add a new external tool which Atmel Studio can invoke to upload compiled Debug or Release .hex files. - Debug and Release .hex **Have** to be added seperately, below is an example for adding the Arduino Pro Mini for both Debug and Release versions: - - Title: 328p Release USBasp - Command: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe - Arguments: -C"C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -patmega328p -carduino -P\\.\COM16 -b57600 -D -Uflash:w:"$(ProjectDir)Release\$(TargetName).hex":i +Title: 328p Release USBasp +Command: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe +Arguments: -C"C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -patmega328p -carduino -P\\.\COM16 -b57600 -D -Uflash:w:"$(ProjectDir)Release\$(TargetName).hex":i - Title: 328p Release USBasp - Command: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe - Arguments: -C"C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -patmega328p -carduino -P\\.\COM16 -b57600 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i +Title: 328p Release USBasp +Command: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe +Arguments: -C"C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -patmega328p -carduino -P\\.\COM16 -b57600 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i Things to note: -* **USBasp** refers to the fact USBasp is the driver used for programming the avr based devices here. -* **-P//./COM16** The comm port the device is attached to. -* **-patmega328p** The device programming to, the Arduino Pro Mini has an Atmega 328p. -* **-carduino** The bootloader on the microcontroller, the default for the Arduino Pro Mini is -carduino. The Mega 2560 uses -cwiring. -* **-b57600** The buad rate the **BOOTLOADER** runs at, the default for Arduino Pro Mini is 57600. The Mega 2560 uses 115200. -* **..(ProjectDir)Release..** The "Release" here refers to the Release folder of the project, where the release .hex gets compiled to. Hence, Debug would be in _..(ProjectDir)Debug.._. +* **USBasp** refers to the fact USBasp is the driver used for programming the avr based devices here. +* **-P//./COM16** The comm port the device is attached to. +* **-patmega328p** The device programming to, the Arduino Pro Mini has an Atmega 328p. +* **-carduino** The bootloader on the microcontroller, the default for the Arduino Pro Mini is -carduino. The Mega 2560 uses -cwiring. +* **-b57600** The buad rate the **BOOTLOADER** runs at, the default for Arduino Pro Mini is 57600. The Mega 2560 uses 115200. +* **..(ProjectDir)Release..** The "Release" here refers to the Release folder of the project, where the release .hex gets compiled to. Hence, Debug would be in _..(ProjectDir)Debug.._. - Adding these will then give you the option to invoke them under, for example, _tools->328p Release USBasp_, if you wanted to upload a release build. - - If you have any issues with drivers [Zadig](https://zadig.akeo.ie/) can be useful as it allows swapping the driver windows is using to interface with the comm port with. - - Any other issues please contact the maintainers or contributors listed in Maintainers and Contributors. +Adding these will then give you the option to invoke them under, for example, _tools->328p Release USBasp_, if you wanted to upload a release build. + +If you have any issues with drivers [Zadig](https://zadig.akeo.ie/) can be useful as it allows swapping the driver windows is using to interface with the comm port with. + +Any other issues please contact the maintainers or contributors listed in Maintainers and Contributors. ### Further Documentation - Each sub-folder should have a corresponding README.md that further details specific documentation. - These can be found at: +Each sub-folder should have a corresponding README.md that further details specific documentation. +These can be found at: * [Arduino Libraries README](https://git.soton.ac.uk/SUFST/sufst-firmware/blob/master/Arduino%20Libraries/README.md). * [CAN SD Card Logger README](https://git.soton.ac.uk/SUFST/sufst-firmware/blob/master/CAN%20SD%20Card%20Logger/README.md). * [CAN Wireless Transceiver README](https://git.soton.ac.uk/SUFST/sufst-firmware/blob/master/CAN%20Wireless%20Transceiver/README.md). @@ -60,10 +60,10 @@ This repository holds all the firmware used within SUSFT on the various microcon SUFST Firmware is open source with LICENSE detailing further licensing information. ## Contributing to SUFST Firmware - If you wish to contribute to SUFST firmware please make it known to one of the maintainers detailed below. - If you are a contributor please **DO NOT** actively work on the master branch and **DO NOT** push/merge your code to master, instead, you're happy with your branch create a merge request through - [here](https://git.soton.ac.uk/SUFST/sufst-firmware/merge_requests/new#). This allows maintainers to re-view your changes and manually accept them into master. This process allows the maintainers to - know exactly whats on the master branch. +If you wish to contribute to SUFST firmware please make it known to one of the maintainers detailed below. +If you are a contributor please **DO NOT** actively work on the master branch and **DO NOT** push/merge your code to master, instead, you're happy with your branch create a merge request through +[here](https://git.soton.ac.uk/SUFST/sufst-firmware/merge_requests/new#). This allows maintainers to re-view your changes and manually accept them into master. This process allows the maintainers to +know exactly whats on the master branch. ## Maintainers * Nathan - _nrs1g15@soton.ac.uk_ @@ -75,9 +75,9 @@ This repository holds all the firmware used within SUSFT on the various microcon * Adomas - TO ADD ## Version History - Each sub-folder should have a corresponding further detailed change log. - These can be found at: -* [Arduino Libraries CHANGELOG](https://git.soton.ac.uk/SUFST/sufst-firmware/blob/master/Arduino%20Libraries/CHANGELOG.md). +Each sub-folder should have a corresponding further detailed change log. +These can be found at: +* [Arduino Libraries CHANGELOG](https://git.soton.ac.uk/SUFST/sufst-firmware/blob/master/Arduino%20Libraries/CHANGELOG.md). * [CAN SD Card Logger CHANGELOG](https://git.soton.ac.uk/SUFST/sufst-firmware/blob/master/CAN%20SD%20Card%20Logger/CHANGELOG.md). * [CAN Wireless Transceiver CHANGELOG](https://git.soton.ac.uk/SUFST/sufst-firmware/blob/master/CAN%20Wireless%20Transceiver/CHANGELOG.md). * [Common CHANGELOG](https://git.soton.ac.uk/SUFST/sufst-firmware/blob/master/Common/CHANGELOG.md).