void Display_SSD_Init() { // Power on and initialize controller Display_SSD_isPowerOn = 1; if(Display_GetType() == DISPLAY_SSD1327) { Display_SSD1327_PowerOn(); Display_SSD1327_SendInitCmds(); } else { Display_SSD1306_PowerOn(); Display_SSD1306_SendInitCmds(); } if(Display_IsFlipped()) { Display_SSD_Flip(); } // Update GDDRAM Display_Update(); // Display ON Display_SSD_SetOn(1); // Delay 20ms Timer_DelayUs(20000); }
void Display_SSD_Init() { // Reset display controller // TODO: figure out PA.1 and PC.4 PA1 = 1; PC4 = 1; Timer_DelayUs(1000); DISPLAY_SSD_RESET = 0; Timer_DelayUs(1000); DISPLAY_SSD_RESET = 1; Timer_DelayUs(1000); if(Display_GetType() == DISPLAY_SSD1327) { Display_SSD1327_SendInitCmds(); } else { Display_SSD1306_SendInitCmds(); } if(Display_IsFlipped()) { Display_SSD_Flip(); } // Update GDDRAM Display_Update(); // Display ON Display_SSD_SetOn(1); // Delay 20ms Timer_DelayUs(20000); }
void Display_SSD1327_Flip() { bool flipped; flipped = Display_IsFlipped(); Display_SSD_SendCommand(SSD1327_SET_OFFSET); Display_SSD_SendCommand(flipped ? 0x80 : 0x00); Display_SSD_SendCommand(SSD1327_SET_REMAP); Display_SSD_SendCommand(flipped ? 0x57 : 0x44); }
int main() { int hwVerMajor, hwVerMinor; char buffer[100]; // Separate major/minor version hwVerMajor = Dataflash_info.hwVersion / 100; hwVerMinor = Dataflash_info.hwVersion % 100; // Build and blit text siprintf(buffer, "Hw: %d.%02d\n%s\nFlip: %d\nBoot: %s", hwVerMajor, hwVerMinor, Display_GetType() == DISPLAY_SSD1327 ? "SSD1327" : "SSD1306", Display_IsFlipped(), Dataflash_info.bootFlag == DATAFLASH_BOOTFLAG_LDROM ? "LD" : "AP"); Display_PutText(0, 0, buffer, FONT_DEJAVU_8PT); // Update display Display_Update(); }