pwm period is now 200us instead of the default 20ms veml6040 config is now AF_BIT | TRIG_BIT

Dependencies:   mbed MMA8451Q USBDevice WakeUp vt100

Fork of afero_node_suntory_2017_06_15 by Orefatoi

Committer:
wataloh
Date:
Tue Dec 20 01:51:02 2016 +0000
Revision:
0:20bce0dcc921
Child:
1:b2a9a6f2c30e
kl25z teensy merged

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wataloh 0:20bce0dcc921 1 #include "mbedSPI.h"
wataloh 0:20bce0dcc921 2 #include "BitOrder.h"
wataloh 0:20bce0dcc921 3
wataloh 0:20bce0dcc921 4 mbedSPI::mbedSPI() : spi(SPI_MOSI,SPI_MISO,SPI_SCLK), cs(SPI_CS_ASR_1,SPI_CS_DEASSERT)
wataloh 0:20bce0dcc921 5 {
wataloh 0:20bce0dcc921 6 spi.format(SPI_NUM_BITS_PER_FRAME, SPI_MODE_0);
wataloh 0:20bce0dcc921 7 spi.frequency(SPI_FREQ);
wataloh 0:20bce0dcc921 8 #if defined (TARGET_KL25Z)
wataloh 0:20bce0dcc921 9 #ifndef SPI0_C1
wataloh 0:20bce0dcc921 10 #define SPI0_C1 (*(uint8_t *)0x40076000)
wataloh 0:20bce0dcc921 11 #endif
wataloh 0:20bce0dcc921 12 SPI0_C1 |= 0x01 ; /* LSB First */
wataloh 0:20bce0dcc921 13 #elif defined (TARGET_TEENSY3_1)
wataloh 0:20bce0dcc921 14 #define SPI0_CTAR0 ((uint32_t *)0x04002C00C)
wataloh 0:20bce0dcc921 15 #define LSBFE_MASK 0x01000000
wataloh 0:20bce0dcc921 16 *SPI0_CTAR0 |= LSBFE_MASK ;
wataloh 0:20bce0dcc921 17 #endif
wataloh 0:20bce0dcc921 18 }
wataloh 0:20bce0dcc921 19
wataloh 0:20bce0dcc921 20 void mbedSPI::begin()
wataloh 0:20bce0dcc921 21 {
wataloh 0:20bce0dcc921 22 }
wataloh 0:20bce0dcc921 23
wataloh 0:20bce0dcc921 24 void mbedSPI::beginSPI() /* settings are in this class */
wataloh 0:20bce0dcc921 25 {
wataloh 0:20bce0dcc921 26 cs = SPI_CS_ASSERT;
wataloh 0:20bce0dcc921 27 wait_us(1);
wataloh 0:20bce0dcc921 28 }
wataloh 0:20bce0dcc921 29
wataloh 0:20bce0dcc921 30 void mbedSPI::endSPI()
wataloh 0:20bce0dcc921 31 {
wataloh 0:20bce0dcc921 32 cs = SPI_CS_DEASSERT;
wataloh 0:20bce0dcc921 33 }
wataloh 0:20bce0dcc921 34
wataloh 0:20bce0dcc921 35 void mbedSPI::transfer(char *bytes,int len)
wataloh 0:20bce0dcc921 36 {
wataloh 0:20bce0dcc921 37 int i = 0;
wataloh 0:20bce0dcc921 38
wataloh 0:20bce0dcc921 39 for(;i<len;++i)
wataloh 0:20bce0dcc921 40 {
wataloh 0:20bce0dcc921 41 #if defined (TARGET_KL25Z) || (TARGET_TEENSY3_1)
wataloh 0:20bce0dcc921 42 bytes[i] = spi.write(bytes[i]) ;
wataloh 0:20bce0dcc921 43 #else
wataloh 0:20bce0dcc921 44 char c = spi.write(BitOrder::flip(bytes[i]));
wataloh 0:20bce0dcc921 45 bytes[i] = BitOrder::flip(c);
wataloh 0:20bce0dcc921 46 #endif
wataloh 0:20bce0dcc921 47 }
wataloh 0:20bce0dcc921 48 }