Simple fish eat program
Dependencies: mbed mbed-rtos N5110 ShiftReg Tone
main.cpp@3:8c9c9794bcf2, 2021-03-24 (annotated)
- Committer:
- el18a2k
- Date:
- Wed Mar 24 15:32:13 2021 +0000
- Revision:
- 3:8c9c9794bcf2
- Parent:
- 2:532b0225519f
- Child:
- 4:db929dab4f13
MainTheme added (sounds)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el18a2k | 0:cf9660998431 | 1 | #include "mbed.h" |
el18a2k | 3:8c9c9794bcf2 | 2 | #include "rtos.h" //allows multiple threads to run at the same time: https://os.mbed.com/handbook/RTOS |
el18a2k | 3:8c9c9794bcf2 | 3 | |
el18a2k | 1:7dfa61225fcf | 4 | #include "FishEngine.h" |
el18a2k | 3:8c9c9794bcf2 | 5 | #include "Sound.h" |
el18a2k | 0:cf9660998431 | 6 | |
el18a2k | 3:8c9c9794bcf2 | 7 | /*TO DO: |
el18a2k | 3:8c9c9794bcf2 | 8 | * correct the last note duration of mainTheme |
el18a2k | 3:8c9c9794bcf2 | 9 | * REMEMBER TO USE VERSION CONTROL */ |
el18a2k | 3:8c9c9794bcf2 | 10 | |
el18a2k | 3:8c9c9794bcf2 | 11 | //Attach |
el18a2k | 0:cf9660998431 | 12 | N5110 lcd(p8,p9,p10,p11,p13,p21); |
el18a2k | 2:532b0225519f | 13 | Joystick joystick(p20, p19); |
el18a2k | 1:7dfa61225fcf | 14 | Tone dac(p18); |
el18a2k | 1:7dfa61225fcf | 15 | |
el18a2k | 2:532b0225519f | 16 | //Objects |
el18a2k | 1:7dfa61225fcf | 17 | FishEngine fish; |
el18a2k | 3:8c9c9794bcf2 | 18 | Sound sound; |
el18a2k | 3:8c9c9794bcf2 | 19 | Thread thread; |
el18a2k | 3:8c9c9794bcf2 | 20 | |
el18a2k | 3:8c9c9794bcf2 | 21 | //initialise |
el18a2k | 3:8c9c9794bcf2 | 22 | void themeThread(); |
el18a2k | 0:cf9660998431 | 23 | |
el18a2k | 0:cf9660998431 | 24 | int main(){ |
el18a2k | 2:532b0225519f | 25 | fish.system_init(lcd,dac,joystick); //initialise board |
el18a2k | 3:8c9c9794bcf2 | 26 | thread.start(themeThread); |
el18a2k | 0:cf9660998431 | 27 | |
el18a2k | 0:cf9660998431 | 28 | while(1){ |
el18a2k | 2:532b0225519f | 29 | fish.titleSequence(lcd); //calls title sequence |
el18a2k | 2:532b0225519f | 30 | fish.mainMenu(lcd, dac, joystick); |
el18a2k | 0:cf9660998431 | 31 | } |
el18a2k | 3:8c9c9794bcf2 | 32 | } |
el18a2k | 3:8c9c9794bcf2 | 33 | |
el18a2k | 3:8c9c9794bcf2 | 34 | void themeThread(){ |
el18a2k | 3:8c9c9794bcf2 | 35 | sound.mainTheme(dac); |
el18a2k | 3:8c9c9794bcf2 | 36 | wait_ms(100); |
el18a2k | 0:cf9660998431 | 37 | } |