void K3b::DataModeWidget::loadConfig( const KConfigGroup& c ) { QString datamode = c.readEntry( "data_track_mode" ); if( datamode == "mode1" ) setDataMode( K3b::DataMode1 ); else if( datamode == "mode2" ) setDataMode( K3b::DataMode2 ); else setDataMode( K3b::DataModeAuto ); }
void SPI::beginTransaction(SPISettings settings) { pthread_mutex_lock (&spiMutex); setBitOrder(settings.border); setDataMode(settings.dmode); setClockDivider(settings.clck); }
SPIDaisyChain::SPIDaisyChain(const int pinCS, const int nDaisyChains) { // default setting _pinCS = (uint8_t)pinCS; _nDaisyChains = (uint8_t)nDaisyChains; _bitOrder = (uint8_t)MSBFIRST; _spiMode = (uint8_t)SPI_MODE3; readBytes = new byte[_nDaisyChains]; // SPI settings pinMode(_pinCS, OUTPUT); digitalWrite(_pinCS, HIGH); SPIClass::begin(); setBitOrder(_bitOrder); setDataMode(_spiMode); // select function for rise/fall CS if (_pinCS > 7) { _pinCS -= 8; fallCS = &SPIDaisyChain::fallCSPORTB; riseCS = &SPIDaisyChain::riseCSPORTB; } else { fallCS = &SPIDaisyChain::fallCSPORTD; riseCS = &SPIDaisyChain::riseCSPORTD; } }
void OS_SoftSPIClass::configure(byte mosi, byte miso, byte sck) { m_mosi = mosi; m_miso = miso; m_sck = sck; // // http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus// // states that the default is MSB first. // m_lsbFirst = false; // Default to SPI_MODE0 setDataMode(SPI_MODE0); // // Set our data setup and hold timings to a 1 us, which // should work for most devices. For higher speed interfaces, // the caller can override with zero. For slower devices, or // devices on longer/higher capacitance wires, later // call can increase these values. // setInterfaceTimings(1, 1, 1); }
void SPIClass::begin() { init(); // NPCS control is left to the user // Default speed set to 4Mhz setClockDivider(BOARD_SPI_DEFAULT_SS, 21); setDataMode(BOARD_SPI_DEFAULT_SS, SPI_MODE0); setBitOrder(BOARD_SPI_DEFAULT_SS, MSBFIRST); }
SPIClass::SPIClass(USART_TypeDef *_spi, uint32_t _id, CMU_Clock_TypeDef UartClk, const SPIPinSettings *_pinSettings) : spi(_spi), id(_id), pinSettings(_pinSettings), spi_clk(UartClk) { setBitOrder(true); setDataMode(usartClockMode0); //setClockDivider(84); /*SPI_Configure(spi, id, SPI_MR_MSTR | SPI_MR_PS | SPI_MR_MODFDIS); SPI_Enable(spi);*/ }
TEST(RFM69W, setDataMode) { RFM_DATAMODE dm = RFM_DATAMODE_CONTWITHOUTSYNC; std::queue<int> responses; std::queue<std::tuple<unsigned char, unsigned char>> resps; resps.push(std::make_tuple(0x02, 0x00)); resps.push(std::make_tuple(0x00, 0b11000001)); resps.push(std::make_tuple(0x82, 0x00)); resps.push(std::make_tuple(0b11100001, 0x00)); EXPECT_EQ(0, setDataMode(&dm, fakeSpiFun, &resps)); }
void SPIClass::begin() { initCb(); SPI_Configure(spi, id, SPI_MR_MSTR | SPI_MR_PS | SPI_MR_MODFDIS); SPI_Enable(spi); // NPCS control is left to the user // Default speed set to 4Mhz setClockDivider(BOARD_SPI_DEFAULT_SS, 21); setDataMode(BOARD_SPI_DEFAULT_SS, SPI_MODE0); setBitOrder(BOARD_SPI_DEFAULT_SS, MSBFIRST); }
void SPIClass::begin(uint8_t _pin) { init(); uint32_t spiPin = BOARD_PIN_TO_SPI_PIN(_pin); PIO_Configure( g_APinDescription[spiPin].pPort, g_APinDescription[spiPin].ulPinType, g_APinDescription[spiPin].ulPin, g_APinDescription[spiPin].ulPinConfiguration); // Default speed set to 4Mhz setClockDivider(_pin, 21); setDataMode(_pin, SPI_MODE0); setBitOrder(_pin, MSBFIRST); }
void SPIClass::begin(uint16_t divider, uint8_t bitOrder, uint8_t dataMode) { setClockDivider(divider); setBitOrder(bitOrder); setDataMode(dataMode); //Set CS pins polarity to low bcm2835_spi_setChipSelectPolarity(BCM2835_SPI_CS0, 0); bcm2835_spi_begin(); //Initialize a timestamp for millis calculation gettimeofday(&RHStartTime, NULL); }
// write either command or data, with automatic 4/8-bit selection void LiquidCrystalNew_SSPI::send(uint8_t value, byte mode) { byte en = _en1; if (_multipleChip && getChip()) en = _en2; //delayMicroseconds(DELAYPERCHAR); setDataMode(mode); // I2C & SPI bitWrite(_theData,LCDPIN_D4,value & 0x10); bitWrite(_theData,LCDPIN_D5,value & 0x20); bitWrite(_theData,LCDPIN_D6,value & 0x40); bitWrite(_theData,LCDPIN_D7,value & 0x80); pulseEnable(en); bitWrite(_theData,LCDPIN_D4,value & 0x01); bitWrite(_theData,LCDPIN_D5,value & 0x02); bitWrite(_theData,LCDPIN_D6,value & 0x04); bitWrite(_theData,LCDPIN_D7,value & 0x08); bitWrite(_theData,LCDPIN_LD,_backLight);//Background led pulseEnable(en); }
// write either command or data, with automatic 4/8-bit selection void LiquidCrystalNew_T3TWI::send(uint8_t value, byte mode) { byte en = _en1; if (_multipleChip){ if (getChip()) en = _en2; } setDataMode(mode); // I2C & SPI bitWrite(_theData,LCDPIN_D4,value & 0x10); bitWrite(_theData,LCDPIN_D5,value & 0x20); bitWrite(_theData,LCDPIN_D6,value & 0x40); bitWrite(_theData,LCDPIN_D7,value & 0x80); pulseEnable(en); bitWrite(_theData,LCDPIN_D4,value & 0x01); bitWrite(_theData,LCDPIN_D5,value & 0x02); bitWrite(_theData,LCDPIN_D6,value & 0x04); bitWrite(_theData,LCDPIN_D7,value & 0x08); bitWrite(_theData,LCDPIN_LD,_backLight);//Background led pulseEnable(en); }
void SPIClass::begin() { pinMode(pinSCK, OUTPUT); pinMode(pinMOSI, OUTPUT); pinMode(pinMISO, INPUT); spi->PSELSCK = pinSCK; spi->PSELMOSI = pinMOSI; spi->PSELMISO = pinMISO; // Default speed set to 4Mhz setFrequency(4000); setDataMode(SPI_MODE0); setBitOrder(MSBFIRST); spi->EVENTS_READY = 0; spi->ENABLE = (SPI_ENABLE_ENABLE_Enabled << SPI_ENABLE_ENABLE_Pos); }
void LiquidCrystalNew_T3TWI::initChip(uint8_t dotsize, byte witchEnablePin) { byte displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS; byte i; if (_lcd_lines > 1) displayfunction |= LCD_2LINE; // for some 1 line displays you can select a 10 pixel high font if ((dotsize != 0) && (_lcd_lines == 1)) displayfunction |= LCD_5x10DOTS; for (i=0;i<18;i++) { delayMicroseconds(LCD_STARTUP_DLY); } setDataMode(0);//COMMAND MODE writeGpio(_theData & ~witchEnablePin); // En LOW---------------------------------------*/ write4bits(0x03); delayMicroseconds(5000); // I have one LCD for which 4500 here was not long enough. // second try write4bits(0x03); delayMicroseconds(150); // wait // third go! write4bits(0x03); delayMicroseconds(150); // finally, set to 4-bit interface write4bits(0x02); delayMicroseconds(150); // finally, set # lines, font size, etc. command(LCD_FUNCTIONSET | displayfunction); // turn the display on with no cursor or blinking default _displaycontrol = LCD_DISPLAYON | LCD_CURSOROFF | LCD_BLINKOFF; display(); // clear it off clear(); // Initialize to default text direction (for romance languages) _displaymode = LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT; // set the entry mode command(LCD_ENTRYMODESET | _displaymode); noAutoscroll(); }