Skip to content

Fix heading formatting in README #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 16 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
CodeBlocks-Arduino contains added functionality for Code::Blocks to allow Arduino software development. Code::Blocks is a more advanced IDE than the ArduinoIDE, yet is still fairly straightforward. When an Arduino project starts incorporating custom libraries, it often becomes too cumbersome for the ArduinoIDE. This package adds a custom project wizard for creating Arduino projects. The distribution also integrates the latest Arduino core files and libraries, AVR toolchains, avrdude for uploading, and a serial terminal.


##Features

## Features
* Dedicated project wizard for Arduino development
* Integrated Arduino core files and libraries
* Integrated pre-configured AVR compiler toolchain
Expand All @@ -20,8 +19,7 @@ CodeBlocks-Arduino contains added functionality for Code::Blocks to allow Arduin
* Various Arduino boards supported as build targets


##Installation

## Installation
Certain files must be placed in the Code::Blocks' data folder. The following instructions apply to Linux computers. For other operating systems installations, contributions on how to do it are welcome - <http://provideyourown.com/contact>.

The data folder for CodeBlocks is located in:
Expand Down Expand Up @@ -67,7 +65,7 @@ The `/share/codeblocks/templates/wizard` folder should look like:
arduino


###Instructions for Code::Blocks newer than version 10
### Instructions for Code::Blocks newer than version 10
When you try to create a new project, newer versions of Code::Blocks will not show the arduino wizard by default. The wizard must first be registered. To do so, select *New/Project* from the menu. Then right-click on any of the wizards. Select *Edit Global Registration Script*. Under the function `RegisterWizards()`, place this line:

RegisterWizard(wizProject, _T("arduino"), _T("Arduino Project"), _T("Embedded Systems"));
Expand All @@ -76,8 +74,8 @@ and save the file. It will be placed in your user wizard folder.

For further details, see - <http://wiki.codeblocks.org/index.php?title=Wizard_scripts>

##Using
###Creating an Arduino Project using the Wizard
## Using
### Creating an Arduino Project using the Wizard
1. Launch Code::Blocks. Select *New/Project* menu item. You should see *Arduino Project* in red. If you do not, then something in your installation is wrong.

2. Select *Arduino Project*. After the intro page, the next page will be where you configure your project. Most of the defaults are fine to use. If you are using a programmer instead of the Arduino bootloader to program your device, select the programmer you will be using. Also, now is the time to choose the serial port to use for uploading your code.
Expand All @@ -98,7 +96,7 @@ For further details, see - <http://wiki.codeblocks.org/index.php?title=Wizard_sc

c. Edit the Resulting Filename box and remove the extra folder being created

###Tools Menu
### Tools Menu
Several tools are provided in the Tools menu. They are:

* Serial Terminal
Expand All @@ -108,20 +106,20 @@ Several tools are provided in the Tools menu. They are:
* Arduino-Make (Clean)
* Arduino-Make (Upload)

####Serial Terminal Tool
#### Serial Terminal Tool
This tool opens a serial comm window just like the ArduinoIDE. It does not close automatically before an upload, so if using the same serial port for uploading, you will need to close this window first.

####Upload Tools
#### Upload Tools
If after compiling, you need to upload your code again, use the *Upload Code* tool. EEPROM data is not uploaded by default, so the *Upload EEPROM* tool is provided for that.

####Arduino-Make
#### Arduino-Make
These tools invoke the make function using command-line Arduino-Make tool(<https://github.com/sudar/Arduino-Makefile>). You must install this script and create your config file within your project folder before using. You can add your own additional make commands from the *Configure tools...* menu item in the *Tools* menu.

####GitG
#### GitG
This tool launches the GitG application for your project.


##Modifying
## Modifying
Sometimes you need to modify a project after creating it. For most settings, go to *Project/Build Options...*. You will find different sets of options for both the project and individual target devices. The two sets are merged at compile time (you can change this if desired), so you will need to check both when looking for configurations to change. Some common ones you might want to change are:

* Compiler Settings/#defines (project setting) - arduino version & what core libraries to include
Expand All @@ -131,10 +129,10 @@ Sometimes you need to modify a project after creating it. For most settings, go

You can select which board to compile and upload your program to by choosing from the *Build target* menu in the toolbar. This will change the appropriate upload settings, with the exception of the programmer used and the upload port.

###Programmer
### Programmer
For Arduino boards with bootloaders, the correct programmer is already chosen. For other boards using a programmer, the one chosen in the wizard will be the one used. If it needs to be changed, then go to the *Project/Build options...* and select the correct *build target* and go to the *Custom Variables* tab. Edit the correct *PROTOCOL* there.

###Upload Port
### Upload Port
The correct port varies across the boards. Different ISP programmers may have their own port. The Uno and Leonardo use a different port than their predecessors. If you have other devices sharing the same port labeling system plugged in, then the port number will change.

In most cases, these values will work:
Expand All @@ -146,14 +144,14 @@ In most cases, these values will work:
To change the port for a board, then go to the *Project/Build options...* and select the correct *build target* and go to the *Custom Variables* tab. Edit the correct *UPLOAD_PORT* setting there.


##Known Issues
## Known Issues
1. The method of linking used is not as efficient as the ArduinoIDE. No solution is known at present. In most projects it won't matter, but if a project is reaching the maximum flash memory point, it may be a problem.

2. Leonardo uploading is still problematic (and not recommended at this time), and automatic reset does not work. Sometimes uploading will put the Leonardo in an unresponsive state. The only way to revive it is to upload a sketch from the ArduinoIDE while pressing the reset button (sometimes it has to be done more than once).

3. Everything has been written and tested on Linux systems. Use on Windows systems may require some tweaking - Upload port selection and Tool menu settings.

##Future Plans
## Future Plans
1. Fix known issues
2. Do more with command-line make tool?
3. Make sketch.cpp file more compatible with the ArduinoIDE sketch.ino file (eliminate the need for both) when using either IDE.
Expand All @@ -174,7 +172,7 @@ To change the port for a board, then go to the *Project/Build options...* and se
* Removed default port selection (can't get it to work)
* Added more instruction to README file

###1/16/13 - changes to Stanley Huang's original code:
### 1/16/13 - changes to Stanley Huang's original code:

* Added size calculation to postprocessing steps to calculate both flash memory and SRAM.
* Fixed avrdude configuration to work with ATtiny
Expand Down