Update
Dependencies: mbed mbed-rtos X_NUCLEO_IHM02A1
Diff: main.cpp
- Revision:
- 39:6cc9a40bc8a6
- Parent:
- 38:3776ee18e56f
- Child:
- 40:117b324843ee
--- a/main.cpp Mon May 13 10:11:48 2019 +0000 +++ b/main.cpp Tue May 14 08:05:58 2019 +0000 @@ -122,71 +122,131 @@ -/* ---------------------------------- MAIN ---------------------------------- */ -/* -------------------------------------------------------------------------- */ - -int main() +/* ------------------------------- BOOT SCREEN ------------------------------ */ +void Boot_Screen() { -/* Initializing Motor Control Expansion Board. */ -x_nucleo_ihm02a1_1 = new XNucleoIHM02A1 (&init[0], &init[1], IRQ_FLAG_MOTOR, IRQ_BUSY_MOTOR, STB_MOTOR, SPI_CS_1, SPI_MOSI, SPI_MISO, SPI_CLK ); -x_nucleo_ihm02a1_2 = new XNucleoIHM02A12(&init[0], &init[1], IRQ_FLAG_MOTOR, IRQ_BUSY_MOTOR, STB_MOTOR, SPI_CS_2, SPI_MOSI, SPI_MISO, SPI_CLK ); - -/* Building a list of motor control components. */ -motors2 = x_nucleo_ihm02a1_2->get_components(); -motors = x_nucleo_ihm02a1_1->get_components(); - -/* Attach ISR to handle button press event -buttonSTART.fall(callback(buttonSTART_onpressed_cb)); -buttonAbbruch.fall(callback(buttonAbbruch_onpressed_cb)); -*/ -/* Init PWM */ -Init_Servo(); -Init_Cutter(); -Init_Spleisser(); - -/*Display*/ -wait_ms(250); -DisplayInit(); + DisplaySendeBefehl(0x01); + DisplaySendeBefehl(0x0C); + gotoxy(1, 1); + DisplaySendeString("BOOT:"); + gotoxy(1, 3); + DisplaySendeString("SPLEISSER FIRMWARE"); + + gotoxy(1, 4); + DisplaySendeString("[ 0% ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[- 7% ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-- 14% ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[--- 21% ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[---- 28% ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[----- 35% ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[------ 42% ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-------49% ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-------56%- ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-------63%-- ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-------70%--- ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-------77%---- ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-------84%----- ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-------91%------ ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-------98%------- ]"); + Thread::wait((BOOTTIME/14)*1000); + gotoxy(1, 4); + DisplaySendeString("[-------100%-------]"); + Thread::wait(500); +} +/* --------------------------------- END ------------------------------------ */ + +/* ---------------------------------- MAIN ---------------------------------- */ +/* -------------------------------------------------------------------------- */ + +int main() +{ + + /* Initializing Motor Control Expansion Board. */ + x_nucleo_ihm02a1_1 = new XNucleoIHM02A1 (&init[0], &init[1], IRQ_FLAG_MOTOR, IRQ_BUSY_MOTOR, STB_MOTOR, SPI_CS_1, SPI_MOSI, SPI_MISO, SPI_CLK ); + x_nucleo_ihm02a1_2 = new XNucleoIHM02A12(&init[0], &init[1], IRQ_FLAG_MOTOR, IRQ_BUSY_MOTOR, STB_MOTOR, SPI_CS_2, SPI_MOSI, SPI_MISO, SPI_CLK ); + + /* Building a list of motor control components. */ + motors2 = x_nucleo_ihm02a1_2->get_components(); + motors = x_nucleo_ihm02a1_1->get_components(); + + /* Attach ISR to handle button press event + buttonSTART.fall(callback(buttonSTART_onpressed_cb)); + buttonAbbruch.fall(callback(buttonAbbruch_onpressed_cb)); + */ + /* Init PWM */ + Init_Servo(); + Init_Cutter(); + Init_Spleisser(); + + /*Display*/ + wait_ms(250); + DisplayInit(); + + + + Boot_Screen(); + + /* -------------------- ---- STATE_MACHINE ------------------------------ */ - while(1) - { - switch (StatusSpleisser) - { - case ST_SOLO: - if(InputKontrollmodul == 0) - { - EntrySOLO(); - } - else - { - StatusSpleisser = ST_DUO; - } - break; + while(1) { + switch (StatusSpleisser) { + case ST_SOLO: + if(InputKontrollmodul == 0) { + EntrySOLO(); + } else { + StatusSpleisser = ST_DUO; + } + break; case ST_DUO: - if(InputKontrollmodul == 1) - { - EntryDUO(); - } - else - { - StatusSpleisser = ST_SOLO; - } - break; - - } + if(InputKontrollmodul == 1) { + EntryDUO(); + } else { + StatusSpleisser = ST_SOLO; + } + break; + + } } /* ------------------------------ END ----------------------------------- */ - - - - + + + + } /* --------------------------------- END ------------------------------------ */ /* -------------------------------------------------------------------------- */ \ No newline at end of file