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.
Dependencies: mbed wave_player mbed-rtos C12832_lcd 4DGL-uLCD-SE LCD_fonts SDFileSystem
Revision 6:cd24147b5e50, committed 2019-12-05
- Comitter:
- jcrane32
- Date:
- Thu Dec 05 00:17:49 2019 +0000
- Parent:
- 5:b2cf15651d4e
- Child:
- 7:15fdc55dbf66
- Commit message:
- Refactored most of the code. Created .h files for bubbles and songs to be added later.
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bubbles.h Thu Dec 05 00:17:49 2019 +0000
@@ -0,0 +1,255 @@
+const unsigned short the_middle_bubbles[62][5] = {2, 0, 1, 0, 0,
+3, 0, 1, 0, 0,
+4, 0, 1, 0, 0,
+5, 0, 1, 0, 0,
+6, 0, 0, 1, 0,
+7, 0, 0, 1, 0,
+8, 0, 0, 1, 0,
+9, 0, 0, 1, 0,
+10, 0, 0, 1, 0,
+11, 0, 0, 0, 1,
+12, 0, 0, 0, 1,
+13, 0, 0, 0, 1,
+15, 0, 0, 1, 1,
+16, 0, 0, 1, 1,
+17, 0, 0, 1, 1,
+18, 0, 1, 1, 0,
+19, 0, 1, 1, 0,
+20, 0, 1, 1, 0,
+21, 0, 1, 1, 0,
+22, 0, 1, 1, 0,
+23, 0, 1, 1, 0,
+24, 0, 1, 1, 0,
+25, 0, 1, 1, 0,
+27, 0, 1, 0, 0,
+28, 0, 1, 0, 0,
+29, 0, 1, 0, 0,
+30, 0, 1, 0, 0,
+31, 0, 0, 1, 0,
+32, 0, 0, 1, 0,
+33, 0, 0, 1, 0,
+34, 0, 0, 1, 0,
+35, 0, 0, 1, 0,
+36, 0, 0, 1, 0,
+37, 0, 0, 0, 1,
+38, 0, 0, 0, 1,
+39, 0, 0, 0, 1,
+40, 0, 0, 0, 1,
+42, 0, 1, 1, 0,
+43, 0, 0, 1, 1,
+44, 0, 1, 1, 0,
+45, 0, 0, 1, 1,
+46, 0, 1, 1, 0,
+47, 0, 0, 1, 1,
+48, 0, 1, 1, 0,
+49, 0, 0, 1, 1,
+51, 0, 1, 1, 1,
+52, 0, 1, 1, 1,
+53, 0, 1, 1, 1,
+54, 0, 1, 1, 1,
+56, 0, 1, 0, 0,
+57, 0, 1, 0, 0,
+58, 0, 1, 0, 0,
+59, 0, 1, 0, 0,
+61, 0, 0, 1, 0,
+62, 0, 1, 1, 1,
+63, 0, 1, 1, 1,
+64, 0, 1, 1, 1,
+66, 0, 1, 1, 0,
+67, 0, 0, 1, 1,
+68, 0, 1, 1, 0,
+69, 0, 0, 1, 1,
+70, 0, 1, 1, 0};
+
+const unsigned short stacys_mom_bubbles[70][5] = {1, 0, 1, 0, 0,
+2, 0, 1, 0, 0,
+3, 0, 1, 1, 0,
+4, 0, 1, 0, 0,
+5, 0, 1, 0, 0,
+6, 0, 1, 1, 0,
+8, 0, 0, 1, 0,
+9, 0, 0, 0, 1,
+10, 0, 1, 0, 0,
+11, 0, 0, 1, 0,
+12, 0, 1, 1, 0,
+13, 0, 1, 1, 0,
+15, 0, 0, 1, 1,
+16, 0, 0, 1, 1,
+17, 0, 0, 1, 1,
+18, 0, 0, 1, 1,
+20, 0, 1, 0, 0,
+21, 0, 0, 1, 0,
+22, 0, 0, 0, 1,
+24, 0, 0, 1, 1,
+25, 0, 0, 1, 1,
+26, 0, 0, 1, 0,
+27, 0, 0, 1, 0,
+28, 0, 0, 0, 1,
+29, 0, 1, 0, 0,
+31, 0, 1, 1, 1,
+32, 0, 1, 0, 1,
+33, 0, 1, 0, 1,
+34, 0, 1, 0, 1,
+35, 0, 1, 0, 1,
+36, 0, 1, 0, 1,
+37, 0, 1, 0, 1,
+39, 0, 0, 1, 0,
+40, 0, 0, 1, 0,
+41, 0, 0, 1, 0,
+42, 0, 0, 1, 0,
+43, 0, 0, 0, 1,
+44, 0, 0, 0, 1,
+45, 0, 0, 1, 0,
+46, 0, 0, 1, 0,
+47, 0, 0, 1, 1,
+48, 0, 0, 1, 1,
+49, 0, 0, 1, 1,
+51, 0, 1, 0, 0,
+52, 0, 0, 1, 0,
+53, 0, 0, 0, 1,
+54, 0, 0, 1, 1,
+55, 0, 0, 1, 1,
+56, 0, 0, 1, 0,
+57, 0, 0, 1, 0,
+58, 0, 0, 1, 0,
+59, 0, 0, 1, 0,
+60, 0, 0, 1, 0,
+61, 0, 0, 1, 0,
+62, 0, 0, 1, 0,
+64, 0, 1, 0, 0,
+65, 0, 1, 0, 0,
+66, 0, 1, 0, 0,
+67, 0, 1, 0, 0,
+68, 0, 1, 0, 0,
+69, 0, 1, 0, 0,
+70, 0, 1, 0, 0,
+73, 0, 0, 1, 1,
+74, 0, 0, 1, 1,
+75, 0, 1, 0, 0,
+76, 0, 0, 1, 0,
+77, 0, 0, 0, 1,
+78, 0, 1, 0, 0,
+79, 0, 0, 1, 0,
+80, 0, 0, 0, 1};
+
+const unsigned short sins_bubbles[60][5] = {
+2, 0, 1, 0, 0,
+3, 0, 0, 1, 0,
+4, 0, 1, 0, 0,
+5, 0, 0, 1, 0,
+6, 0, 0, 0, 1,
+7, 0, 1, 0, 0,
+8, 0, 0, 0, 1,
+9, 0, 1, 0, 0,
+10, 0, 0, 0, 1,
+11, 0, 1, 1, 1,
+13, 0, 1, 0, 0,
+14, 0, 0, 1, 0,
+15, 0, 1, 0, 0,
+16, 0, 0, 1, 0,
+17, 0, 0, 1, 0,
+18, 0, 0, 1, 0,
+19, 0, 0, 1, 0,
+20, 0, 0, 1, 0,
+22, 0, 0, 0, 1,
+23, 0, 0, 1, 1,
+24, 0, 0, 0, 1,
+25, 0, 0, 1, 1,
+26, 0, 0, 0, 1,
+27, 0, 0, 1, 1,
+28, 0, 1, 0, 0,
+29, 0, 1, 1, 0,
+30, 0, 1, 0, 0,
+31, 0, 1, 1, 0,
+33, 0, 1, 0, 0,
+34, 0, 1, 0, 0,
+35, 0, 1, 0, 0,
+36, 0, 0, 1, 1,
+37, 0, 0, 1, 1,
+38, 0, 0, 1, 1,
+39, 0, 0, 1, 1,
+40, 0, 0, 1, 1,
+42, 0, 1, 1, 0,
+43, 0, 1, 1, 0,
+44, 0, 0, 1, 0,
+45, 0, 0, 1, 1,
+46, 0, 0, 1, 1,
+47, 0, 0, 1, 1,
+48, 0, 0, 1, 1,
+49, 0, 0, 1, 1,
+50, 0, 0, 1, 0,
+51, 0, 1, 1, 0,
+52, 0, 1, 1, 0,
+53, 0, 1, 1, 0,
+54, 0, 1, 1, 0,
+55, 0, 1, 1, 0,
+56, 0, 1, 0, 0,
+57, 0, 0, 1, 0,
+58, 0, 1, 0, 0,
+59, 0, 0, 1, 0,
+60, 0, 1, 0, 0,
+62, 0, 1, 1, 0,
+63, 0, 1, 1, 0,
+64, 0, 1, 1, 0,
+65, 0, 1, 1, 0,
+66, 0, 1, 1, 0};
+
+const unsigned short fireflies_bubbles[58][5] = {
+1, 0, 1, 0, 0,
+2, 0, 0, 1, 0,
+3, 0, 1, 0, 0,
+4, 0, 0, 1, 0,
+5, 0, 1, 0, 0,
+6, 0, 0, 1, 0,
+7, 0, 1, 0, 0,
+8, 0, 0, 1, 0,
+9, 0, 1, 0, 0,
+10, 0, 0, 1, 0,
+11, 0, 0, 0, 1,
+12, 0, 0, 1, 0,
+13, 0, 1, 0, 0,
+14, 0, 0, 1, 0,
+15, 0, 0, 0, 1,
+16, 0, 1, 1, 0,
+17, 0, 1, 1, 0,
+18, 0, 0, 1, 1,
+19, 0, 0, 1, 1,
+21, 0, 0, 1, 0,
+22, 0, 0, 1, 0,
+23, 0, 0, 1, 0,
+24, 0, 0, 1, 0,
+25, 0, 1, 0, 0,
+26, 0, 1, 0, 0,
+27, 0, 0, 1, 0,
+28, 0, 0, 1, 0,
+29, 0, 0, 0, 1,
+30, 0, 0, 0, 1,
+32, 0, 1, 0, 0,
+33, 0, 1, 0, 0,
+34, 0, 0, 1, 0,
+35, 0, 0, 1, 0,
+36, 0, 0, 0, 1,
+37, 0, 0, 0, 1,
+38, 0, 0, 1, 0,
+39, 0, 0, 1, 0,
+40, 0, 1, 0, 0,
+41, 0, 1, 0, 0,
+43, 0, 1, 1, 1,
+44, 0, 1, 1, 1,
+45, 0, 1, 1, 1,
+46, 0, 1, 1, 1,
+47, 0, 1, 1, 0,
+48, 0, 1, 1, 0,
+49, 0, 0, 1, 1,
+50, 0, 0, 1, 1,
+51, 0, 0, 1, 1,
+53, 0, 1, 1, 0,
+54, 0, 1, 1, 0,
+55, 0, 0, 1, 1,
+56, 0, 1, 1, 0,
+57, 0, 0, 1, 1,
+59, 0, 1, 0, 0,
+60, 0, 0, 1, 0,
+61, 0, 0, 0, 1,
+62, 0, 0, 1, 0,
+63, 0, 1, 0, 0};
\ No newline at end of file
--- a/main.cpp Wed Dec 04 21:06:43 2019 +0000
+++ b/main.cpp Thu Dec 05 00:17:49 2019 +0000
@@ -2,6 +2,7 @@
#include "SDFileSystem.h"
#include "wave_player.h"
#include "uLCD_4DGL.h"
+
//setup some color objects in flash using const's
#include "rtos.h"
@@ -11,6 +12,9 @@
#include "stdio.h"
#include "C12832_lcd.h"
+#include "bubbles.h"
+#include "songs.h"
+
//class for 3 PWM color values for RGBLED
class LEDColor
{
@@ -98,15 +102,17 @@
DigitalIn pb2(p19);
AnalogOut DACout(p18);
wave_player waver(&DACout);
+Thread thread1, thread2, thread3;
// mutex to make the lcd lib thread safe
Mutex lcd_mutex;
int songnum = 1;
AnalogIn joy_pot(p16);
+
// Thread 1
// print homescreen to LCD
//new homescreen that doesn't have the flashing
-void thread1(void const *args)
+void homescreen_thread()
{
while(true) { // thread loop
lcd_mutex.lock();
@@ -145,9 +151,10 @@
}
}
+// Thread 2
//for song selection during homescreen
-void thread2(void const *args)
+void joystick_thread()
{
while(1){
if ((joy_pot <= (1.4/3.3)) && songnum>1) {
@@ -165,7 +172,7 @@
// Thread 3
//pb1 is to select song
//pb2 is to return to homescreen
-void thread3(void const *args)
+void pbcontrol_thread()
{
pb1.mode(PullUp);
pb2.mode(PullUp);
@@ -186,270 +193,14 @@
int main()
{
//timestamp in terms of seconds
- int the_middle[62][5] = {2, 0, 1, 0, 0,
- 3, 0, 1, 0, 0,
- 4, 0, 1, 0, 0,
- 5, 0, 1, 0, 0,
- 6, 0, 0, 1, 0,
- 7, 0, 0, 1, 0,
- 8, 0, 0, 1, 0,
- 9, 0, 0, 1, 0,
- 10, 0, 0, 1, 0,
- 11, 0, 0, 0, 1,
- 12, 0, 0, 0, 1,
- 13, 0, 0, 0, 1,
- 15, 0, 0, 1, 1,
- 16, 0, 0, 1, 1,
- 17, 0, 0, 1, 1,
- 18, 0, 1, 1, 0,
- 19, 0, 1, 1, 0,
- 20, 0, 1, 1, 0,
- 21, 0, 1, 1, 0,
- 22, 0, 1, 1, 0,
- 23, 0, 1, 1, 0,
- 24, 0, 1, 1, 0,
- 25, 0, 1, 1, 0,
- 27, 0, 1, 0, 0,
- 28, 0, 1, 0, 0,
- 29, 0, 1, 0, 0,
- 30, 0, 1, 0, 0,
- 31, 0, 0, 1, 0,
- 32, 0, 0, 1, 0,
- 33, 0, 0, 1, 0,
- 34, 0, 0, 1, 0,
- 35, 0, 0, 1, 0,
- 36, 0, 0, 1, 0,
- 37, 0, 0, 0, 1,
- 38, 0, 0, 0, 1,
- 39, 0, 0, 0, 1,
- 40, 0, 0, 0, 1,
- 42, 0, 1, 1, 0,
- 43, 0, 0, 1, 1,
- 44, 0, 1, 1, 0,
- 45, 0, 0, 1, 1,
- 46, 0, 1, 1, 0,
- 47, 0, 0, 1, 1,
- 48, 0, 1, 1, 0,
- 49, 0, 0, 1, 1,
- 51, 0, 1, 1, 1,
- 52, 0, 1, 1, 1,
- 53, 0, 1, 1, 1,
- 54, 0, 1, 1, 1,
- 56, 0, 1, 0, 0,
- 57, 0, 1, 0, 0,
- 58, 0, 1, 0, 0,
- 59, 0, 1, 0, 0,
- 61, 0, 0, 1, 0,
- 62, 0, 1, 1, 1,
- 63, 0, 1, 1, 1,
- 64, 0, 1, 1, 1,
- 66, 0, 1, 1, 0,
- 67, 0, 0, 1, 1,
- 68, 0, 1, 1, 0,
- 69, 0, 0, 1, 1,
- 70, 0, 1, 1, 0};
- int stacys_mom[70][5] = {1, 0, 1, 0, 0,
- 2, 0, 1, 0, 0,
- 3, 0, 1, 1, 0,
- 4, 0, 1, 0, 0,
- 5, 0, 1, 0, 0,
- 6, 0, 1, 1, 0,
- 8, 0, 0, 1, 0,
- 9, 0, 0, 0, 1,
- 10, 0, 1, 0, 0,
- 11, 0, 0, 1, 0,
- 12, 0, 1, 1, 0,
- 13, 0, 1, 1, 0,
- 15, 0, 0, 1, 1,
- 16, 0, 0, 1, 1,
- 17, 0, 0, 1, 1,
- 18, 0, 0, 1, 1,
- 20, 0, 1, 0, 0,
- 21, 0, 0, 1, 0,
- 22, 0, 0, 0, 1,
- 24, 0, 0, 1, 1,
- 25, 0, 0, 1, 1,
- 26, 0, 0, 1, 0,
- 27, 0, 0, 1, 0,
- 28, 0, 0, 0, 1,
- 29, 0, 1, 0, 0,
- 31, 0, 1, 1, 1,
- 32, 0, 1, 0, 1,
- 33, 0, 1, 0, 1,
- 34, 0, 1, 0, 1,
- 35, 0, 1, 0, 1,
- 36, 0, 1, 0, 1,
- 37, 0, 1, 0, 1,
- 39, 0, 0, 1, 0,
- 40, 0, 0, 1, 0,
- 41, 0, 0, 1, 0,
- 42, 0, 0, 1, 0,
- 43, 0, 0, 0, 1,
- 44, 0, 0, 0, 1,
- 45, 0, 0, 1, 0,
- 46, 0, 0, 1, 0,
- 47, 0, 0, 1, 1,
- 48, 0, 0, 1, 1,
- 49, 0, 0, 1, 1,
- 51, 0, 1, 0, 0,
- 52, 0, 0, 1, 0,
- 53, 0, 0, 0, 1,
- 54, 0, 0, 1, 1,
- 55, 0, 0, 1, 1,
- 56, 0, 0, 1, 0,
- 57, 0, 0, 1, 0,
- 58, 0, 0, 1, 0,
- 59, 0, 0, 1, 0,
- 60, 0, 0, 1, 0,
- 61, 0, 0, 1, 0,
- 62, 0, 0, 1, 0,
- 64, 0, 1, 0, 0,
- 65, 0, 1, 0, 0,
- 66, 0, 1, 0, 0,
- 67, 0, 1, 0, 0,
- 68, 0, 1, 0, 0,
- 69, 0, 1, 0, 0,
- 70, 0, 1, 0, 0,
- 73, 0, 0, 1, 1,
- 74, 0, 0, 1, 1,
- 75, 0, 1, 0, 0,
- 76, 0, 0, 1, 0,
- 77, 0, 0, 0, 1,
- 78, 0, 1, 0, 0,
- 79, 0, 0, 1, 0,
- 80, 0, 0, 0, 1};
-
- int sins[60][5] = {2, 0, 1, 0, 0,
- 3, 0, 0, 1, 0,
- 4, 0, 1, 0, 0,
- 5, 0, 0, 1, 0,
- 6, 0, 0, 0, 1,
- 7, 0, 1, 0, 0,
- 8, 0, 0, 0, 1,
- 9, 0, 1, 0, 0,
- 10, 0, 0, 0, 1,
- 11, 0, 1, 1, 1,
- 13, 0, 1, 0, 0,
- 14, 0, 0, 1, 0,
- 15, 0, 1, 0, 0,
- 16, 0, 0, 1, 0,
- 17, 0, 0, 1, 0,
- 18, 0, 0, 1, 0,
- 19, 0, 0, 1, 0,
- 20, 0, 0, 1, 0,
- 22, 0, 0, 0, 1,
- 23, 0, 0, 1, 1,
- 24, 0, 0, 0, 1,
- 25, 0, 0, 1, 1,
- 26, 0, 0, 0, 1,
- 27, 0, 0, 1, 1,
- 28, 0, 1, 0, 0,
- 29, 0, 1, 1, 0,
- 30, 0, 1, 0, 0,
- 31, 0, 1, 1, 0,
- 33, 0, 1, 0, 0,
- 34, 0, 1, 0, 0,
- 35, 0, 1, 0, 0,
- 36, 0, 0, 1, 1,
- 37, 0, 0, 1, 1,
- 38, 0, 0, 1, 1,
- 39, 0, 0, 1, 1,
- 40, 0, 0, 1, 1,
- 42, 0, 1, 1, 0,
- 43, 0, 1, 1, 0,
- 44, 0, 0, 1, 0,
- 45, 0, 0, 1, 1,
- 46, 0, 0, 1, 1,
- 47, 0, 0, 1, 1,
- 48, 0, 0, 1, 1,
- 49, 0, 0, 1, 1,
- 50, 0, 0, 1, 0,
- 51, 0, 1, 1, 0,
- 52, 0, 1, 1, 0,
- 53, 0, 1, 1, 0,
- 54, 0, 1, 1, 0,
- 55, 0, 1, 1, 0,
- 56, 0, 1, 0, 0,
- 57, 0, 0, 1, 0,
- 58, 0, 1, 0, 0,
- 59, 0, 0, 1, 0,
- 60, 0, 1, 0, 0,
- 62, 0, 1, 1, 0,
- 63, 0, 1, 1, 0,
- 64, 0, 1, 1, 0,
- 65, 0, 1, 1, 0,
- 66, 0, 1, 1, 0};
-
- int fireflies[58][5] = {
- 1, 0, 1, 0, 0,
- 2, 0, 0, 1, 0,
- 3, 0, 1, 0, 0,
- 4, 0, 0, 1, 0,
- 5, 0, 1, 0, 0,
- 6, 0, 0, 1, 0,
- 7, 0, 1, 0, 0,
- 8, 0, 0, 1, 0,
- 9, 0, 1, 0, 0,
- 10, 0, 0, 1, 0,
- 11, 0, 0, 0, 1,
- 12, 0, 0, 1, 0,
- 13, 0, 1, 0, 0,
- 14, 0, 0, 1, 0,
- 15, 0, 0, 0, 1,
- 16, 0, 1, 1, 0,
- 17, 0, 1, 1, 0,
- 18, 0, 0, 1, 1,
- 19, 0, 0, 1, 1,
- 21, 0, 0, 1, 0,
- 22, 0, 0, 1, 0,
- 23, 0, 0, 1, 0,
- 24, 0, 0, 1, 0,
- 25, 0, 1, 0, 0,
- 26, 0, 1, 0, 0,
- 27, 0, 0, 1, 0,
- 28, 0, 0, 1, 0,
- 29, 0, 0, 0, 1,
- 30, 0, 0, 0, 1,
- 32, 0, 1, 0, 0,
- 33, 0, 1, 0, 0,
- 34, 0, 0, 1, 0,
- 35, 0, 0, 1, 0,
- 36, 0, 0, 0, 1,
- 37, 0, 0, 0, 1,
- 38, 0, 0, 1, 0,
- 39, 0, 0, 1, 0,
- 40, 0, 1, 0, 0,
- 41, 0, 1, 0, 0,
- 43, 0, 1, 1, 1,
- 44, 0, 1, 1, 1,
- 45, 0, 1, 1, 1,
- 46, 0, 1, 1, 1,
- 47, 0, 1, 1, 0,
- 48, 0, 1, 1, 0,
- 49, 0, 0, 1, 1,
- 50, 0, 0, 1, 1,
- 51, 0, 0, 1, 1,
- 53, 0, 1, 1, 0,
- 54, 0, 1, 1, 0,
- 55, 0, 0, 1, 1,
- 56, 0, 1, 1, 0,
- 57, 0, 0, 1, 1,
- 59, 0, 1, 0, 0,
- 60, 0, 0, 1, 0,
- 61, 0, 0, 0, 1,
- 62, 0, 0, 1, 0,
- 63, 0, 1, 0, 0};
//doesnt work yet, nee,d to ask hamblen
uLCD.media_init();
uLCD.set_sector_address(0x001D, 0x4C01);
uLCD.display_image(0,0);
-// t1.start(thread1);
-// t2.start(thread2);
-// t3.start(thread3);
- Thread t1(thread1);
- Thread t2(thread2);
- Thread t3(thread3);
+ thread1.start(homescreen_thread);
+ thread2.start(joystick_thread);
+ thread3.start(pbcontrol_thread);
//startup sound
myRGBled = blue; //tested to make sure led works, we can use whatever color(s) here
FILE *wave_file;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/songs.h Thu Dec 05 00:17:49 2019 +0000 @@ -0,0 +1,4 @@ +//const unsigned short the_middle[]; +//const unsigned short stacys_mom[]; +//const unsigned short sins[]; +//const unsigned short fireflies[]; \ No newline at end of file
