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:
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?

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