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
spi/mbedSPI.cpp@0:20bce0dcc921, 2016-12-20 (annotated)
- 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?
User | Revision | Line number | New 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 | } |