int main() { chipInit(); timer0Init(); //init_adc(ADC_CHANS, INT_VREF_TYPE); adcInit(0, AVCC_VREF_TYPE); uart_init(); w1Init(); sei(); ee_magic = MAGIC16; initCommands(); initVM(); ee_magic = 0; while (1) { char tticks = getClearTimerTicks(); while (tticks) { tticks--; ds18b20_step(0, TIME_UNIT); ds18b20_step(1, TIME_UNIT); vmStep(TIME_UNIT); handlePWM(TIME_UNIT); } handleIO(); } return 0; }
//Begin function void OLED_SSD1331::begin(void) { commonInit(); if (_inited) chipInit(); }
void TFT_ILI9163C::begin(void) { sleep = 0; #ifdef __AVR__ pinMode(_rs, OUTPUT); pinMode(_cs, OUTPUT); csport = portOutputRegister(digitalPinToPort(_cs)); rsport = portOutputRegister(digitalPinToPort(_rs)); cspinmask = digitalPinToBitMask(_cs); rspinmask = digitalPinToBitMask(_rs); SPI.begin(); SPI.setClockDivider(SPI_CLOCK_DIV2); // 8 MHz SPI.setBitOrder(MSBFIRST); SPI.setDataMode(SPI_MODE0); // toggle RST low to reset; CS low so it'll listen to us *csport &= ~cspinmask; #elif defined(__SAM3X8E__) pinMode(_rs, OUTPUT); pinMode(_cs, OUTPUT); csport = digitalPinToPort(_cs); rsport = digitalPinToPort(_rs); cspinmask = digitalPinToBitMask(_cs); rspinmask = digitalPinToBitMask(_rs); SPI.begin(); SPI.setClockDivider(11); // 8 MHz SPI.setBitOrder(MSBFIRST); SPI.setDataMode(SPI_MODE0); // toggle RST low to reset; CS low so it'll listen to us csport ->PIO_CODR |= cspinmask; // Set control bits to LOW (idle) #elif defined(__MK20DX128__) || defined(__MK20DX256__) SPI.begin(); if (SPI.pinIsChipSelect(_cs, _rs)) { pcs_data = SPI.setCS(_cs); pcs_command = pcs_data | SPI.setCS(_rs); } else { pcs_data = 0; pcs_command = 0; return; } #endif if (_rst != 0) { pinMode(_rst, OUTPUT); digitalWrite(_rst, HIGH); delay(500); digitalWrite(_rst, LOW); delay(500); digitalWrite(_rst, HIGH); delay(500); } /* 7) MY: 1(bottom to top), 0(top to bottom) Row Address Order 6) MX: 1(R to L), 0(L to R) Column Address Order 5) MV: 1(Exchanged), 0(normal) Row/Column exchange 4) ML: 1(bottom to top), 0(top to bottom) Vertical Refresh Order 3) RGB: 1(BGR), 0(RGB) Color Space 2) MH: 1(R to L), 0(L to R) Horizontal Refresh Order 1) 0) MY, MX, MV, ML,RGB, MH, D1, D0 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 //normal 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 //Y-Mirror 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 //X-Mirror 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 //X-Y-Mirror 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 //X-Y Exchange 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 //X-Y Exchange, Y-Mirror 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 //XY exchange 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 */ _Mactrl_Data = 0b00000000; _colorspaceData = __COLORSPC;//start with default data; chipInit(); }