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:
Thu Jan 19 09:17:16 2017 +0000
Revision:
1:b2a9a6f2c30e
Parent:
0:20bce0dcc921
Child:
21:d03c7bbb9f37
simplified

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