hexiwear RTC display Serial
Dependencies: Hexi_KW40Z Hexi_OLED_SSD1351 mbed
main.cpp@0:64ad287703be, 2017-09-05 (annotated)
- Committer:
- i_am_kitsune
- Date:
- Tue Sep 05 01:49:30 2017 +0000
- Revision:
- 0:64ad287703be
Hexiwear display RTC
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
i_am_kitsune | 0:64ad287703be | 1 | /* |
i_am_kitsune | 0:64ad287703be | 2 | CREATED BY JAICHANGPARK AKA DREAMWALKER |
i_am_kitsune | 0:64ad287703be | 3 | DATE : 2017. 06. 28 |
i_am_kitsune | 0:64ad287703be | 4 | |
i_am_kitsune | 0:64ad287703be | 5 | */ |
i_am_kitsune | 0:64ad287703be | 6 | |
i_am_kitsune | 0:64ad287703be | 7 | #include "mbed.h" |
i_am_kitsune | 0:64ad287703be | 8 | #include "Hexi_OLED_SSD1351.h" |
i_am_kitsune | 0:64ad287703be | 9 | #include "Hexi_KW40Z.h" |
i_am_kitsune | 0:64ad287703be | 10 | #include "string.h" |
i_am_kitsune | 0:64ad287703be | 11 | #include "MTCH6102.h" |
i_am_kitsune | 0:64ad287703be | 12 | |
i_am_kitsune | 0:64ad287703be | 13 | |
i_am_kitsune | 0:64ad287703be | 14 | DigitalOut led1(LED1); |
i_am_kitsune | 0:64ad287703be | 15 | |
i_am_kitsune | 0:64ad287703be | 16 | /** |
i_am_kitsune | 0:64ad287703be | 17 | * HEXIWEAR SERIAL PORT |
i_am_kitsune | 0:64ad287703be | 18 | TX : PTD3, USBTX(WITH PC) |
i_am_kitsune | 0:64ad287703be | 19 | RX : PTD2, USBRX(WITH PC) |
i_am_kitsune | 0:64ad287703be | 20 | **/ |
i_am_kitsune | 0:64ad287703be | 21 | |
i_am_kitsune | 0:64ad287703be | 22 | Serial serial(USBTX,USBRX,9600); //(TX, RX) |
i_am_kitsune | 0:64ad287703be | 23 | |
i_am_kitsune | 0:64ad287703be | 24 | /* |
i_am_kitsune | 0:64ad287703be | 25 | HEXIWEAR OLED INTERNAL DISPLAY PIN |
i_am_kitsune | 0:64ad287703be | 26 | MOSI(SDI) : PTB22 |
i_am_kitsune | 0:64ad287703be | 27 | SCLK(SCK) : PTB21 |
i_am_kitsune | 0:64ad287703be | 28 | POWER : PTC13 ( INTERNAL POWER PORT) |
i_am_kitsune | 0:64ad287703be | 29 | CS : PTB20 |
i_am_kitsune | 0:64ad287703be | 30 | RST : PTE6 |
i_am_kitsune | 0:64ad287703be | 31 | DC : PTD15 |
i_am_kitsune | 0:64ad287703be | 32 | */ |
i_am_kitsune | 0:64ad287703be | 33 | SSD1351 display(PTB22,PTB21,PTC13,PTB20,PTE6, PTD15); |
i_am_kitsune | 0:64ad287703be | 34 | |
i_am_kitsune | 0:64ad287703be | 35 | /* |
i_am_kitsune | 0:64ad287703be | 36 | KW40Z INIT |
i_am_kitsune | 0:64ad287703be | 37 | UART4 |
i_am_kitsune | 0:64ad287703be | 38 | TX : PTE24 |
i_am_kitsune | 0:64ad287703be | 39 | RX : PTE25 |
i_am_kitsune | 0:64ad287703be | 40 | */ |
i_am_kitsune | 0:64ad287703be | 41 | |
i_am_kitsune | 0:64ad287703be | 42 | KW40Z kw40z_device(PTE24, PTE25); |
i_am_kitsune | 0:64ad287703be | 43 | |
i_am_kitsune | 0:64ad287703be | 44 | // main() runs in its own thread in the OS |
i_am_kitsune | 0:64ad287703be | 45 | int main() { |
i_am_kitsune | 0:64ad287703be | 46 | |
i_am_kitsune | 0:64ad287703be | 47 | char time_text[20]; |
i_am_kitsune | 0:64ad287703be | 48 | char date_text[25]; |
i_am_kitsune | 0:64ad287703be | 49 | |
i_am_kitsune | 0:64ad287703be | 50 | // Use default properties |
i_am_kitsune | 0:64ad287703be | 51 | oled_text_properties_t textProperties = {0}; |
i_am_kitsune | 0:64ad287703be | 52 | display.GetTextProperties(&textProperties); |
i_am_kitsune | 0:64ad287703be | 53 | display.FillScreen(COLOR_BLACK); |
i_am_kitsune | 0:64ad287703be | 54 | |
i_am_kitsune | 0:64ad287703be | 55 | textProperties.fontColor = COLOR_WHITE; |
i_am_kitsune | 0:64ad287703be | 56 | textProperties.alignParam = OLED_TEXT_ALIGN_CENTER; |
i_am_kitsune | 0:64ad287703be | 57 | display.SetTextProperties(&textProperties); |
i_am_kitsune | 0:64ad287703be | 58 | |
i_am_kitsune | 0:64ad287703be | 59 | while (true) { |
i_am_kitsune | 0:64ad287703be | 60 | |
i_am_kitsune | 0:64ad287703be | 61 | time_t seconds = time(NULL); |
i_am_kitsune | 0:64ad287703be | 62 | const tm *t = localtime(&seconds); // Convert the unix time to actual time |
i_am_kitsune | 0:64ad287703be | 63 | char* s = "AM"; // The suffix to use for the time of day |
i_am_kitsune | 0:64ad287703be | 64 | int h = (t->tm_hour) + 18; // The hours |
i_am_kitsune | 0:64ad287703be | 65 | int year = (t->tm_year) + 1947; |
i_am_kitsune | 0:64ad287703be | 66 | if (h > 12){ // If it's entering 24/h time, change it to 12/h and add PM |
i_am_kitsune | 0:64ad287703be | 67 | s = "PM"; |
i_am_kitsune | 0:64ad287703be | 68 | h = h - 12; |
i_am_kitsune | 0:64ad287703be | 69 | } |
i_am_kitsune | 0:64ad287703be | 70 | |
i_am_kitsune | 0:64ad287703be | 71 | // Format the time |
i_am_kitsune | 0:64ad287703be | 72 | sprintf(time_text,"%d:%d:%d %s",h, t->tm_min, t->tm_sec, s); |
i_am_kitsune | 0:64ad287703be | 73 | sprintf(date_text,"%d-%d-%d",year, (t->tm_mon)+6, (t->tm_mday)+27); |
i_am_kitsune | 0:64ad287703be | 74 | |
i_am_kitsune | 0:64ad287703be | 75 | serial.printf(time_text); |
i_am_kitsune | 0:64ad287703be | 76 | serial.printf("\n"); |
i_am_kitsune | 0:64ad287703be | 77 | serial.printf(date_text); |
i_am_kitsune | 0:64ad287703be | 78 | serial.printf("\n"); |
i_am_kitsune | 0:64ad287703be | 79 | |
i_am_kitsune | 0:64ad287703be | 80 | // Display the time on screen |
i_am_kitsune | 0:64ad287703be | 81 | // oled_status_t SSD1351::TextBox(const uint8_t* text, int8_t xCrd, int8_t yCrd,uint8_t width,uint8_t height) |
i_am_kitsune | 0:64ad287703be | 82 | display.TextBox((uint8_t *)time_text,2,2, 91, 15); |
i_am_kitsune | 0:64ad287703be | 83 | display.TextBox((uint8_t *)date_text,2,16, 91, 15); |
i_am_kitsune | 0:64ad287703be | 84 | led1 = !led1; |
i_am_kitsune | 0:64ad287703be | 85 | wait(0.5); |
i_am_kitsune | 0:64ad287703be | 86 | } |
i_am_kitsune | 0:64ad287703be | 87 | } |
i_am_kitsune | 0:64ad287703be | 88 | |
i_am_kitsune | 0:64ad287703be | 89 | void edited_time(){ |
i_am_kitsune | 0:64ad287703be | 90 | |
i_am_kitsune | 0:64ad287703be | 91 | char buffer[32]; |
i_am_kitsune | 0:64ad287703be | 92 | time_t init_time = time(NULL); |
i_am_kitsune | 0:64ad287703be | 93 | strftime(buffer, 32, "%I:%M %p\n", localtime(&init_time)); |
i_am_kitsune | 0:64ad287703be | 94 | printf("Time as a custom formatted string = %s", buffer); |
i_am_kitsune | 0:64ad287703be | 95 | |
i_am_kitsune | 0:64ad287703be | 96 | } |
i_am_kitsune | 0:64ad287703be | 97 |