Skip to content

Commit

Permalink
Merge branch 'master' of github.com:andysworkshop/awcopper
Browse files Browse the repository at this point in the history
  • Loading branch information
andysworkshop committed Nov 14, 2015
2 parents 20b4a92 + 3413b88 commit 4da43f1
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,31 @@

This project contains the Arduino library and STM32 firmware for my graphics coprocessor project.

![Graphics Coprocessor](http://i0.wp.com/andybrown.me.uk/wk/wp-content/images/awcopper/test_image_small.jpg)

### Project documentation
[Click here](http://andybrown.me.uk/wk/2015/02/02/awcopper) to go to my website to read the full project documentation.

## Arduino library

It's in the `arduino` folder in the `awcopper.zip` file. [Here's a guide](http://arduino.cc/en/Guide/Libraries) to installing Arduino libraries. Personally I just extract the zip file into the Arduino IDE's `libraries` folder.
It's in the [`arduino`](https://github.com/andysworkshop/awcopper/tree/master/arduino) folder in the `awcopper.zip` file. [Here's a guide](http://arduino.cc/en/Guide/Libraries) to installing Arduino libraries. Personally I just extract the zip file into the Arduino IDE's `libraries` folder.

If you should make any modifications to the library or the examples then you can run the `build.sh` script to rebuild the `awcopper.zip` archive. `build.sh` is a shell script so you'll need to be running Linux or Cygwin on Windows.

## STM32 firmware

It's in the `stm32` folder. If you're just looking for something to flash then take a look in the `hex` folder. You'll find both the standard and overclocked versions of the firmware ready and waiting for you to flash to the STM32.
It's in the [`stm32`](https://github.com/andysworkshop/awcopper/tree/master/stm32) folder. If you're just looking for something to flash then take a look in the [`hex`](https://github.com/andysworkshop/awcopper/tree/master/stm32/hex) folder. You'll find both the standard and overclocked versions of the firmware ready and waiting for you to flash to the STM32.

If you make any changes to the library then you'll need to rebuild it using the `scons` build system. The project documentation over at my website goes into this in a little more detail. Note that there is a dependency on my [stm32plus](https://github.com/andysworkshop/stm32plus) library so make sure you've cloned and installed stm32plus before you attempt to build the awcopper firmware.

## PC software

It's in the `pc` folder. There's just one utility included with this library, `UploadToFlash` is the C# application that allows you to send graphics files to the SPI flash IC on the board. If you're just looking for the executable program then you'll find it in the `bin\Debug` or `bin\Release` folder.
It's in the [`pc`](https://github.com/andysworkshop/awcopper/tree/master/pc) folder. There's just one utility included with this library, `UploadToFlash` is the C# application that allows you to send graphics files to the SPI flash IC on the board. If you're just looking for the executable program then you'll find it in the `exe` folder.

## Other software

If you're looking for the `bm2rgbi` image converter that was mentioned in the main project writeup then you'll find it in the [stm32plus](https://github.com/andysworkshop/stm32plus) library project.

## API documentation

If you're going to use the Arduino library then you'll need the API documentation. It's right here on github, take a look at the `api.md` markdown file.
If you're going to use the Arduino library then you'll need the API documentation. It's right here on github, take a look at the [`api.md`](https://github.com/andysworkshop/awcopper/blob/master/api.md) markdown file.
6 changes: 3 additions & 3 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ Be aware that because the display is operating in 16-bit mode then the actual co
Way back when we were initialising we used a `typedef` to define the display orientation, like this: `typedef awc::PortraitCoProcessor Copper`. Now that we've got a concise `Copper` type we can use it to refer to some useful constants:

| Constant | Value |
|-|-|
|----------|-------|
| `Copper::WIDTH` | The display width. 640, or 360 for landscape or portrait mode, respectively |
| `Copper::HEIGHT` | The display height. 360, or 640 for landscape or portrait mode, respectively |

Expand Down Expand Up @@ -318,7 +318,7 @@ This function sets the font that will be used by the text output methods. _awcop
The `FontId` type is an enumeration that can take one of the following values:

| FontId | Name | Pixel Height |
|-|-|-|
|--------|------|--------------|
| `awc::APPLE` | [Apple](http://www.dafont.com/apple.font) | 8 |
| `awc::ATARI` | [Atari ST](http://www.dafont.com/atari-st-8x16-system-font.font) | 16 |
| `awc::DOS` | [Perfect DOS VGA](http://www.dafont.com/perfect-dos-vga-437.font) | 8 |
Expand Down Expand Up @@ -698,4 +698,4 @@ This function is used to initialise a pin in timer mode. T1 and T2 run at an int

The example sets the timer to count upwards until it hits 2000 when it will reset to zero and start counting up again. Assuming an overclocked 64MHz MCU then the timer clock ticks at 64/2/1 = 32MHz. There are 2000 ticks so it will hit the reload value of 2000 at a frequency of 32MHz/2000 = 16kHz.

What we've done here is to prepare the timer to do _something_ at a frequency of 16kHz. As we'll see next we can toggle our output pins to create fixed frequency pulses or PWM waveforms.
What we've done here is to prepare the timer to do _something_ at a frequency of 16kHz. As we'll see next we can toggle our output pins to create fixed frequency pulses or PWM waveforms.

0 comments on commit 4da43f1

Please sign in to comment.