Demo of Adafruit_SSD1306 graphics library and SPI interface on RedBear NANO nRF51822 board
Dependencies: Adafruit_GFX_nano SPI_Demo_Nano
This is a test of the RedBear nano board and the Adafruit oled display. Currently not working because of some problem with the SPI driver which I can't understand.
main.cpp@4:9decf12340fa, 2015-02-25 (annotated)
- Committer:
- tsh
- Date:
- Wed Feb 25 22:01:10 2015 +0000
- Revision:
- 4:9decf12340fa
- Parent:
- 3:6122dfbc9d9e
- Child:
- 7:029f4ce1f8b2
- Child:
- 8:971ea27171dd
constructor unwound, trnasfer stalls
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tsh | 0:057ae71e1b6f | 1 | /* |
tsh | 0:057ae71e1b6f | 2 | |
tsh | 0:057ae71e1b6f | 3 | Copyright (c) 2012-2014 RedBearLab |
tsh | 0:057ae71e1b6f | 4 | |
tsh | 0:057ae71e1b6f | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software |
tsh | 0:057ae71e1b6f | 6 | and associated documentation files (the "Software"), to deal in the Software without restriction, |
tsh | 0:057ae71e1b6f | 7 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, |
tsh | 0:057ae71e1b6f | 8 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, |
tsh | 0:057ae71e1b6f | 9 | subject to the following conditions: |
tsh | 0:057ae71e1b6f | 10 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. |
tsh | 0:057ae71e1b6f | 11 | |
tsh | 0:057ae71e1b6f | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, |
tsh | 0:057ae71e1b6f | 13 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR |
tsh | 0:057ae71e1b6f | 14 | PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE |
tsh | 0:057ae71e1b6f | 15 | FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, |
tsh | 0:057ae71e1b6f | 16 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
tsh | 0:057ae71e1b6f | 17 | |
tsh | 0:057ae71e1b6f | 18 | */ |
tsh | 0:057ae71e1b6f | 19 | |
tsh | 0:057ae71e1b6f | 20 | #include "mbed.h" |
tsh | 0:057ae71e1b6f | 21 | #include "spi_master.h" |
tsh | 3:6122dfbc9d9e | 22 | #include "Adafruit_SSD1306.h" |
tsh | 0:057ae71e1b6f | 23 | |
tsh | 4:9decf12340fa | 24 | //DigitalOut spi_cs(P0_10); |
tsh | 4:9decf12340fa | 25 | DigitalOut rst(A3); |
tsh | 4:9decf12340fa | 26 | DigitalOut dc(A4); |
tsh | 4:9decf12340fa | 27 | DigitalOut cs(D2); |
tsh | 4:9decf12340fa | 28 | DigitalOut led(D13); |
tsh | 0:057ae71e1b6f | 29 | |
tsh | 0:057ae71e1b6f | 30 | SPIClass SPI1(NRF_SPI1); |
tsh | 0:057ae71e1b6f | 31 | |
tsh | 0:057ae71e1b6f | 32 | Serial pc(USBTX, USBRX); |
tsh | 4:9decf12340fa | 33 | //Adafruit_SSD1306_nrf gOled1(&SPI1,A4,A3,D2);// SPI, DC, RST, CS |
tsh | 0:057ae71e1b6f | 34 | |
tsh | 0:057ae71e1b6f | 35 | int main(void) |
tsh | 0:057ae71e1b6f | 36 | { |
tsh | 0:057ae71e1b6f | 37 | pc.printf("SPI Demo Start \r\n"); |
tsh | 4:9decf12340fa | 38 | led = 1; // off |
tsh | 0:057ae71e1b6f | 39 | //SPI1.begin(); |
tsh | 2:7e5609174292 | 40 | SPI1.begin(P0_8, P0_9, P0_11);//SCK, MOSI, MISO |
tsh | 4:9decf12340fa | 41 | pc.printf("Step 1 \r\n"); |
tsh | 4:9decf12340fa | 42 | rst = 1; |
tsh | 4:9decf12340fa | 43 | // VDD (3.3V) goes high at start, lets just chill for a ms |
tsh | 4:9decf12340fa | 44 | wait_ms(1); |
tsh | 4:9decf12340fa | 45 | // bring reset low |
tsh | 4:9decf12340fa | 46 | pc.printf("Step 2 \r\n"); |
tsh | 4:9decf12340fa | 47 | rst = 0; |
tsh | 4:9decf12340fa | 48 | // wait 10ms |
tsh | 4:9decf12340fa | 49 | wait_ms(10); |
tsh | 4:9decf12340fa | 50 | // bring out of reset |
tsh | 4:9decf12340fa | 51 | rst = 1; |
tsh | 4:9decf12340fa | 52 | // turn on VCC (9V?) |
tsh | 4:9decf12340fa | 53 | pc.printf("Step 3 \r\n"); |
tsh | 4:9decf12340fa | 54 | SPI1.transfer(0xAE);// SSD1306_DISPLAYOFF |
tsh | 4:9decf12340fa | 55 | SPI1.transfer(0xD5);// SSD1306_SETDISPLAYCLOCKDIV |
tsh | 4:9decf12340fa | 56 | SPI1.transfer(0x80);// // the suggested ratio 0x80 |
tsh | 4:9decf12340fa | 57 | pc.printf("Step 4 \r\n"); |
tsh | 4:9decf12340fa | 58 | led = 0; // on |
tsh | 4:9decf12340fa | 59 | wait(1); |
tsh | 4:9decf12340fa | 60 | led = 1; |
tsh | 4:9decf12340fa | 61 | wait(1); |
tsh | 4:9decf12340fa | 62 | led = 0; |
tsh | 0:057ae71e1b6f | 63 | } |
tsh | 0:057ae71e1b6f | 64 | |
tsh | 0:057ae71e1b6f | 65 | |
tsh | 0:057ae71e1b6f | 66 | |
tsh | 0:057ae71e1b6f | 67 | |
tsh | 0:057ae71e1b6f | 68 | |
tsh | 0:057ae71e1b6f | 69 | |
tsh | 0:057ae71e1b6f | 70 |