HexiHub code
Dependencies: Hexi_KW40Z Hexi_OLED_SSD1351
main.cpp
- Committer:
- cwl35
- Date:
- 2018-02-16
- Revision:
- 0:efcad8f28b0f
File content as of revision 0:efcad8f28b0f:
#include "mbed.h" #include "Hexi_KW40Z.h" #include "Hexi_OLED_SSD1351.h" #include "OLED_types.h" #include "OpenSans_Font.h" #include "string.h" #include "images.h" #define LED_ON 0 #define LED_OFF 1 void ReadCommand(); void homescreen(); void StartHaptic(void); void StopHaptic(void const *n); DigitalOut haptic(PTB9); RtosTimer hapticTimer(StopHaptic, osTimerOnce); Serial pc(USBTX, USBRX, 115200); //Serial BT(PTC17, PTC16, 115200); KW40Z kw40z_device(PTE24, PTE25); SSD1351 oled(PTB22,PTB21,PTC13,PTB20,PTE6, PTD15); BusIn MusicCommand(PTA10, PTB13, PTD2); InterruptIn que(PTD3); DigitalOut listeningLED(LED1, 1); DigitalOut volumeup(PTA4); DigitalOut nextsong(PTB7); DigitalOut pause_play(PTB6); DigitalOut lastsong(PTC17); DigitalOut volumedown(PTD8); char text[20]; int y; void ReadCommand() { while(1) { listeningLED = 0; wait(.5); y = MusicCommand.read(); if (y == 0)//volume up { volumeup.write(0); wait(0.1); volumeup.write(1); wait(0.1); volumeup.write(0); wait(0.1); volumeup.write(1); wait(0.1); volumeup.write(0); wait(0.1); volumeup.write(1); listeningLED = 1; break; } if (y == 1)//next song { nextsong.write(0); wait(0.1); nextsong.write(1); listeningLED = 1; break; } if (y == 2)//pause { pause_play.write(0); wait(0.1); pause_play.write(1); listeningLED = 1; break; } if (y == 3)//play { pause_play.write(0); wait(0.1); pause_play.write(1); listeningLED = 1; break; } if (y == 4)//restart { lastsong.write(0); wait(0.1); lastsong.write(1); listeningLED = 1; break; } if (y == 5)//volume down { volumedown.write(0); wait(0.1); volumedown.write(1); wait(0.1); volumedown.write(0); wait(0.1); volumedown.write(1); wait(0.1); volumedown.write(0); wait(0.1); volumedown.write(1); listeningLED = 1; break; } if (y == 6)//last song { lastsong.write(0); wait(0.1); lastsong.write(1); wait(0.1); lastsong.write(0); wait(0.1); lastsong.write(1); listeningLED = 1; break; } } } void homescreen() { oled.DimScreenON(); const uint8_t *image1; image1 = NXP_whole_bmp; oled.FillScreen(COLOR_WHITE); oled.DrawImage(image1,0,0); oled_text_properties_t textProperties = {0}; oled.GetTextProperties(&textProperties); textProperties.fontColor = COLOR_WHITE; textProperties.alignParam = OLED_TEXT_ALIGN_CENTER; oled.SetTextProperties(&textProperties); strcpy((char *) text,"Welcome to"); oled.Label((uint8_t *)text,15,30); strcpy((char *) text,"HexiHub"); oled.Label((uint8_t *)text,20,45); strcpy((char *) text,"Prev."); oled.Label((uint8_t *)text,0,0); strcpy((char *) text,"Pause"); oled.Label((uint8_t *)text,0,80); strcpy((char *) text,"Play"); oled.Label((uint8_t *)text,74,80); strcpy((char *) text,"Next"); oled.Label((uint8_t *)text,72,0); } void ButtonUp(void) { StartHaptic(); nextsong.write(0); wait(0.1); nextsong.write(1); } void ButtonDown(void) { StartHaptic(); lastsong.write(0); wait(0.1); lastsong.write(1); } void ButtonRight(void) { StartHaptic(); pause_play.write(0); wait(0.1); pause_play.write(1); } void ButtonLeft(void) { StartHaptic(); volumeup.write(0); wait(0.1); volumeup.write(1); } int main() { homescreen(); que.rise(&ReadCommand); que.fall(&ReadCommand); kw40z_device.attach_buttonUp(&ButtonUp); kw40z_device.attach_buttonDown(&ButtonDown); kw40z_device.attach_buttonLeft(&ButtonLeft); kw40z_device.attach_buttonRight(&ButtonRight); // while(1) //{ // pc.putc(BT.getc()); // } } void StartHaptic(void) { hapticTimer.start(50); haptic = 1; } void StopHaptic(void const *n) { haptic = 0; hapticTimer.stop(); } //SCREEN CHANGES /* oled.DimScreenON(); const uint8_t *image1; image1 = NXP_whole_bmp; oled.FillScreen(COLOR_WHITE); oled.DrawImage(image1,0,0); oled_text_properties_t textProperties = {0}; oled.GetTextProperties(&textProperties); textProperties.fontColor = COLOR_WHITE; textProperties.alignParam = OLED_TEXT_ALIGN_CENTER; oled.SetTextProperties(&textProperties); strcpy((char *) text,"NEXT"); oled.Label((uint8_t *)text,15,30); */