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.

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?

UserRevisionLine numberNew 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