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@21:d03c7bbb9f37, 2017-06-09 (annotated)
- Committer:
- wataloh
- Date:
- Fri Jun 09 01:49:53 2017 +0000
- Revision:
- 21:d03c7bbb9f37
- Parent:
- 1:b2a9a6f2c30e
Added the following process; When VEML6040 library returns NACK, forces software reset
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 | 1:b2a9a6f2c30e | 4 | mbedSPI::mbedSPI() : |
wataloh | 1:b2a9a6f2c30e | 5 | spi((PinName)PINS::ASR_1::SPI::MOSI, |
wataloh | 1:b2a9a6f2c30e | 6 | (PinName)PINS::ASR_1::SPI::MISO, |
wataloh | 1:b2a9a6f2c30e | 7 | (PinName)PINS::ASR_1::SPI::SCK), |
wataloh | 1:b2a9a6f2c30e | 8 | cs((PinName)PINS::ASR_1::SPI::CS, |
wataloh | 1:b2a9a6f2c30e | 9 | PINS::ASR_1::SPI::SIG::CS::DEASSERT) |
wataloh | 0:20bce0dcc921 | 10 | { |
wataloh | 1:b2a9a6f2c30e | 11 | spi.format( |
wataloh | 1:b2a9a6f2c30e | 12 | PINS::ASR_1::SPI::NUM_BITS_PER_FRAME, //SPI_NUM_BITS_PER_FRAME, |
wataloh | 1:b2a9a6f2c30e | 13 | PINS::ASR_1::SPI::MODE_0); |
wataloh | 1:b2a9a6f2c30e | 14 | spi.frequency(PINS::ASR_1::SPI::FREQUENCY); |
wataloh | 0:20bce0dcc921 | 15 | #if defined (TARGET_KL25Z) |
wataloh | 0:20bce0dcc921 | 16 | #ifndef SPI0_C1 |
wataloh | 0:20bce0dcc921 | 17 | #define SPI0_C1 (*(uint8_t *)0x40076000) |
wataloh | 0:20bce0dcc921 | 18 | #endif |
wataloh | 0:20bce0dcc921 | 19 | SPI0_C1 |= 0x01 ; /* LSB First */ |
wataloh | 0:20bce0dcc921 | 20 | #elif defined (TARGET_TEENSY3_1) |
wataloh | 0:20bce0dcc921 | 21 | #define SPI0_CTAR0 ((uint32_t *)0x04002C00C) |
wataloh | 0:20bce0dcc921 | 22 | #define LSBFE_MASK 0x01000000 |
wataloh | 0:20bce0dcc921 | 23 | *SPI0_CTAR0 |= LSBFE_MASK ; |
wataloh | 0:20bce0dcc921 | 24 | #endif |
wataloh | 0:20bce0dcc921 | 25 | } |
wataloh | 0:20bce0dcc921 | 26 | |
wataloh | 0:20bce0dcc921 | 27 | void mbedSPI::begin() |
wataloh | 0:20bce0dcc921 | 28 | { |
wataloh | 0:20bce0dcc921 | 29 | } |
wataloh | 0:20bce0dcc921 | 30 | |
wataloh | 0:20bce0dcc921 | 31 | void mbedSPI::beginSPI() /* settings are in this class */ |
wataloh | 0:20bce0dcc921 | 32 | { |
wataloh | 1:b2a9a6f2c30e | 33 | cs = PINS::ASR_1::SPI::SIG::CS::ASSERT; |
wataloh | 0:20bce0dcc921 | 34 | wait_us(1); |
wataloh | 0:20bce0dcc921 | 35 | } |
wataloh | 0:20bce0dcc921 | 36 | |
wataloh | 0:20bce0dcc921 | 37 | void mbedSPI::endSPI() |
wataloh | 0:20bce0dcc921 | 38 | { |
wataloh | 1:b2a9a6f2c30e | 39 | cs = PINS::ASR_1::SPI::SIG::CS::DEASSERT; |
wataloh | 0:20bce0dcc921 | 40 | } |
wataloh | 0:20bce0dcc921 | 41 | |
wataloh | 0:20bce0dcc921 | 42 | void mbedSPI::transfer(char *bytes,int len) |
wataloh | 0:20bce0dcc921 | 43 | { |
wataloh | 0:20bce0dcc921 | 44 | int i = 0; |
wataloh | 0:20bce0dcc921 | 45 | |
wataloh | 0:20bce0dcc921 | 46 | for(;i<len;++i) |
wataloh | 0:20bce0dcc921 | 47 | { |
wataloh | 0:20bce0dcc921 | 48 | #if defined (TARGET_KL25Z) || (TARGET_TEENSY3_1) |
wataloh | 0:20bce0dcc921 | 49 | bytes[i] = spi.write(bytes[i]) ; |
wataloh | 0:20bce0dcc921 | 50 | #else |
wataloh | 0:20bce0dcc921 | 51 | char c = spi.write(BitOrder::flip(bytes[i])); |
wataloh | 0:20bce0dcc921 | 52 | bytes[i] = BitOrder::flip(c); |
wataloh | 0:20bce0dcc921 | 53 | #endif |
wataloh | 0:20bce0dcc921 | 54 | } |
wataloh | 0:20bce0dcc921 | 55 | } |