Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@3:8e445135859e, 2022-10-21 (annotated)
- Committer:
- js
- Date:
- Fri Oct 21 10:55:00 2022 +0000
- Revision:
- 3:8e445135859e
- Parent:
- 2:71b3736a1bd7
test
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| bangbh | 0:412f9c1172b7 | 1 | #include "mbed.h" |
| js | 2:71b3736a1bd7 | 2 | #include "nextion_lcd.h" |
| js | 2:71b3736a1bd7 | 3 | #include "APP.h" |
| bangbh | 0:412f9c1172b7 | 4 | |
| js | 2:71b3736a1bd7 | 5 | #include "FATFileSystem.h" |
| js | 2:71b3736a1bd7 | 6 | // Block devices |
| js | 2:71b3736a1bd7 | 7 | #include "SDBlockDevice.h" |
| js | 2:71b3736a1bd7 | 8 | #include "SAVE_CONT.h" |
| js | 2:71b3736a1bd7 | 9 | #include "PS3_BT_CTL.h" |
| js | 2:71b3736a1bd7 | 10 | #include "ROBO1_CONT.h" |
| js | 2:71b3736a1bd7 | 11 | #include "ROBO2_CONT.h" |
| js | 2:71b3736a1bd7 | 12 | #include "IO_CONT.h" |
| js | 2:71b3736a1bd7 | 13 | #include "CUT_CONT.h" |
| js | 2:71b3736a1bd7 | 14 | #include "ROBO_TWIN_CONT.h" |
| js | 2:71b3736a1bd7 | 15 | #include "DiNi_supplyr.h" |
| bangbh | 0:412f9c1172b7 | 16 | |
| js | 2:71b3736a1bd7 | 17 | DigitalIn SD_CD_I(PC_4); |
| js | 2:71b3736a1bd7 | 18 | // File system declaration |
| js | 2:71b3736a1bd7 | 19 | FATFileSystem fileSystem("fs"); |
| js | 2:71b3736a1bd7 | 20 | |
| js | 2:71b3736a1bd7 | 21 | // Physical block device, can be any device that supports the BlockDevice API |
| js | 2:71b3736a1bd7 | 22 | SDBlockDevice blockDevice(PC_3,PC_2,PB_10,PB_12); // mosi, miso, sck, cs |
| js | 2:71b3736a1bd7 | 23 | static UnbufferedSerial *pc; |
| js | 2:71b3736a1bd7 | 24 | |
| js | 2:71b3736a1bd7 | 25 | char pc_print_buf[64]; |
| js | 2:71b3736a1bd7 | 26 | |
| bangbh | 0:412f9c1172b7 | 27 | |
| js | 2:71b3736a1bd7 | 28 | void time_set(){ |
| js | 2:71b3736a1bd7 | 29 | RTC_GET(); |
| js | 2:71b3736a1bd7 | 30 | // setup time structure for Wed, 28 Oct 2009 11:35:37 |
| js | 2:71b3736a1bd7 | 31 | struct tm t; |
| js | 2:71b3736a1bd7 | 32 | t.tm_sec = rtc_sec; // 0-59 |
| js | 2:71b3736a1bd7 | 33 | t.tm_min = rtc_min; // 0-59 |
| js | 2:71b3736a1bd7 | 34 | t.tm_hour =rtc_hour; // 0-23 |
| js | 2:71b3736a1bd7 | 35 | t.tm_mday = rtc_date; // 1-31 |
| js | 2:71b3736a1bd7 | 36 | t.tm_mon = rtc_month-1; // 0-11 |
| js | 2:71b3736a1bd7 | 37 | t.tm_year = rtc_year-1900; // year since 1900 |
| js | 2:71b3736a1bd7 | 38 | |
| js | 2:71b3736a1bd7 | 39 | // convert to timestamp and set (1256729737) |
| js | 2:71b3736a1bd7 | 40 | time_t seconds = mktime(&t); |
| js | 2:71b3736a1bd7 | 41 | set_time(seconds); |
| js | 2:71b3736a1bd7 | 42 | } |
| js | 2:71b3736a1bd7 | 43 | void time_disp(){ |
| js | 2:71b3736a1bd7 | 44 | //time_t seconds = time(NULL) + (60 * 60 * 9); // JST |
| js | 2:71b3736a1bd7 | 45 | time_t seconds = time(NULL); |
| js | 2:71b3736a1bd7 | 46 | struct tm *t = localtime(&seconds); |
| js | 2:71b3736a1bd7 | 47 | |
| js | 2:71b3736a1bd7 | 48 | printf("%04d/%02d/%02d %02d:%02d:%02d", |
| js | 2:71b3736a1bd7 | 49 | t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); |
| js | 2:71b3736a1bd7 | 50 | |
| js | 2:71b3736a1bd7 | 51 | } |
| js | 2:71b3736a1bd7 | 52 | void pc_printf(char *txt){ |
| js | 2:71b3736a1bd7 | 53 | unsigned char len = strlen(txt);//文字列の長さを確認 |
| js | 2:71b3736a1bd7 | 54 | pc->write(txt,len); |
| js | 2:71b3736a1bd7 | 55 | } |
| js | 2:71b3736a1bd7 | 56 | ////ms単位でのwait指定//// |
| js | 2:71b3736a1bd7 | 57 | void wait_ms(double wcnt){ |
| js | 2:71b3736a1bd7 | 58 | wait_us(wcnt*1000); |
| js | 2:71b3736a1bd7 | 59 | |
| js | 2:71b3736a1bd7 | 60 | } |
| js | 2:71b3736a1bd7 | 61 | void wait(double wcnt){ |
| js | 2:71b3736a1bd7 | 62 | wait_us(wcnt*1000000000); |
| js | 2:71b3736a1bd7 | 63 | |
| js | 2:71b3736a1bd7 | 64 | } |
| bangbh | 0:412f9c1172b7 | 65 | |
| js | 2:71b3736a1bd7 | 66 | void SD_CARD_INI(){ |
| js | 2:71b3736a1bd7 | 67 | SD_CD_I.mode(PullUp); |
| js | 2:71b3736a1bd7 | 68 | if(SD_CD_I.read()==1){ |
| js | 2:71b3736a1bd7 | 69 | lcd_print("t0","SDカード未挿入の為、起動できません。"); |
| js | 2:71b3736a1bd7 | 70 | ALM_ST= ALM_SD; |
| js | 2:71b3736a1bd7 | 71 | ALM_HOLD_SET(); |
| js | 2:71b3736a1bd7 | 72 | }else{ |
| js | 2:71b3736a1bd7 | 73 | lcd_print("t0","SDカード挿入確認OK"); |
| js | 2:71b3736a1bd7 | 74 | } |
| js | 2:71b3736a1bd7 | 75 | //lcdのRTCから時刻を取得してマイコンのRTCにセット(ファイルの保存時刻用) |
| js | 2:71b3736a1bd7 | 76 | //time_set(); |
| js | 2:71b3736a1bd7 | 77 | // time_disp(); |
| js | 2:71b3736a1bd7 | 78 | // Try to mount the filesystem |
| js | 2:71b3736a1bd7 | 79 | printf("Mounting the filesystem... "); |
| js | 2:71b3736a1bd7 | 80 | fflush(stdout); |
| bangbh | 0:412f9c1172b7 | 81 | |
| js | 2:71b3736a1bd7 | 82 | int err = fileSystem.mount(&blockDevice); |
| js | 2:71b3736a1bd7 | 83 | printf("%s\n", (err ? "Fail :(" : "OK")); |
| js | 2:71b3736a1bd7 | 84 | if (err) { |
| js | 2:71b3736a1bd7 | 85 | // Reformat if we can't mount the filesystem |
| js | 2:71b3736a1bd7 | 86 | // this should only happen on the first boot |
| js | 2:71b3736a1bd7 | 87 | printf("No filesystem found, formatting... "); |
| js | 2:71b3736a1bd7 | 88 | fflush(stdout); |
| js | 2:71b3736a1bd7 | 89 | ALM_ST= ALM_SD; |
| js | 2:71b3736a1bd7 | 90 | lcd_print("t0","SDカード異常の為、起動できません。"); |
| js | 2:71b3736a1bd7 | 91 | ALM_HOLD_SET(); |
| js | 2:71b3736a1bd7 | 92 | |
| js | 2:71b3736a1bd7 | 93 | } |
| js | 2:71b3736a1bd7 | 94 | |
| js | 2:71b3736a1bd7 | 95 | } |
| bangbh | 0:412f9c1172b7 | 96 | |
| bangbh | 0:412f9c1172b7 | 97 | int main() { |
| js | 2:71b3736a1bd7 | 98 | wait_ms(500); |
| js | 2:71b3736a1bd7 | 99 | nextion_lcd_ini(); //LCD初期化 |
| js | 2:71b3736a1bd7 | 100 | lcd_backlight(50); |
| bangbh | 0:412f9c1172b7 | 101 | //Set serial port baudrate speed: 115200 |
| js | 2:71b3736a1bd7 | 102 | pc= new UnbufferedSerial(USBTX, USBRX,115200); |
| js | 2:71b3736a1bd7 | 103 | |
| js | 2:71b3736a1bd7 | 104 | |
| js | 2:71b3736a1bd7 | 105 | //RB1_CONNECT(); |
| js | 2:71b3736a1bd7 | 106 | // RB2_CONNECT(); |
| js | 2:71b3736a1bd7 | 107 | HOME_STATE=1;//TEST |
| js | 2:71b3736a1bd7 | 108 | |
| js | 2:71b3736a1bd7 | 109 | IO_INI();//IO初期化 I2C絶縁IO |
| js | 2:71b3736a1bd7 | 110 | EA_IO_INI(); |
| js | 2:71b3736a1bd7 | 111 | |
| js | 2:71b3736a1bd7 | 112 | |
| js | 2:71b3736a1bd7 | 113 | PS3_CTL_INI(); |
| js | 2:71b3736a1bd7 | 114 | /////SDカード初期処理/// |
| js | 2:71b3736a1bd7 | 115 | SD_CARD_INI(); |
| js | 2:71b3736a1bd7 | 116 | wait_ms(100); |
| bangbh | 0:412f9c1172b7 | 117 | |
| js | 2:71b3736a1bd7 | 118 | ////ポジションデータ読み込み/// |
| js | 2:71b3736a1bd7 | 119 | RB1_LIST_READ(); |
| js | 2:71b3736a1bd7 | 120 | RB2_LIST_READ(); |
| js | 2:71b3736a1bd7 | 121 | sprintf(lcd_print_buf,"ポイントデータ読み込み件数 :RB1 : %02d R2 : %02d",RB1_POINT_NO_CNT-1,RB1_POINT_NO_CNT-1); |
| js | 2:71b3736a1bd7 | 122 | lcd_print("t0",lcd_print_buf); |
| js | 2:71b3736a1bd7 | 123 | ///極棒交換回数,ニッケル端子設定値の読み出し// |
| js | 2:71b3736a1bd7 | 124 | // SET_UP_SAVE(); |
| js | 2:71b3736a1bd7 | 125 | SETUP_DATA_RD();//設定値の読み出し(リセット時にSDエラーになるのでデバック中は、コメントアウト) |
| js | 2:71b3736a1bd7 | 126 | |
| js | 2:71b3736a1bd7 | 127 | //lcdのRTCから時刻を取得してマイコンのRTCにセット(ファイルの保存時刻用) |
| js | 2:71b3736a1bd7 | 128 | time_set(); |
| js | 2:71b3736a1bd7 | 129 | time_disp(); |
| js | 2:71b3736a1bd7 | 130 | |
| js | 2:71b3736a1bd7 | 131 | wait_ms(1500); |
| js | 2:71b3736a1bd7 | 132 | // printf("Start\r\n"); |
| bangbh | 0:412f9c1172b7 | 133 | |
| js | 2:71b3736a1bd7 | 134 | ///作業画面へ移行//// |
| js | 2:71b3736a1bd7 | 135 | lcd_page_set(P_MAIN,100); |
| js | 2:71b3736a1bd7 | 136 | wait_ms(200); |
| js | 2:71b3736a1bd7 | 137 | |
| js | 2:71b3736a1bd7 | 138 | |
| js | 2:71b3736a1bd7 | 139 | lcd_print("t0","ダイレクト溶接DOBOT板 V0.17(2022/10/13)"); |
| js | 2:71b3736a1bd7 | 140 | printf("dobot direct prgoram start\r\n"); |
| js | 2:71b3736a1bd7 | 141 | MAIN_PAGE_DISP(); |
| js | 2:71b3736a1bd7 | 142 | lcd_audio_vol(0,100);//val=0から100 def80 |
| js | 2:71b3736a1bd7 | 143 | lcd_audio_play(AU_BOOT,0,80); |
| js | 2:71b3736a1bd7 | 144 | //lcdのRTCから時刻を取得してマイコンのRTCにセット(ファイルの保存時刻用) |
| js | 2:71b3736a1bd7 | 145 | time_set(); |
| js | 2:71b3736a1bd7 | 146 | time_disp(); |
| js | 2:71b3736a1bd7 | 147 | wait_ms(1000); |
| js | 2:71b3736a1bd7 | 148 | |
| js | 2:71b3736a1bd7 | 149 | /* while(1){ |
| js | 2:71b3736a1bd7 | 150 | if(IO_EX_BIT_READ(WTRP_HEND_I)==IOEX_OFF_I){ |
| js | 2:71b3736a1bd7 | 151 | printf("HEND OFF\r\n"); |
| js | 2:71b3736a1bd7 | 152 | lcd_print("t0","HEND OFF"); |
| js | 2:71b3736a1bd7 | 153 | }else{ |
| js | 2:71b3736a1bd7 | 154 | printf("HEND ON\r\n"); |
| js | 2:71b3736a1bd7 | 155 | lcd_print("t0","HEND ON"); |
| bangbh | 0:412f9c1172b7 | 156 | } |
| js | 2:71b3736a1bd7 | 157 | wait_ms(1000); |
| js | 2:71b3736a1bd7 | 158 | } |
| js | 2:71b3736a1bd7 | 159 | */ |
| js | 2:71b3736a1bd7 | 160 | while(1){ |
| js | 2:71b3736a1bd7 | 161 | MG400_AP(); |
| bangbh | 0:412f9c1172b7 | 162 | } |
| bangbh | 0:412f9c1172b7 | 163 | } |