ReSpeaker Test Code
Dependencies: MbedJSONValue mbed
Revision 4:7c08791dcac1, committed 2018-02-19
- Comitter:
- Arkadi
- Date:
- Mon Feb 19 10:23:59 2018 +0000
- Parent:
- 3:9c3169e549f0
- Child:
- 5:cca17ebe4a1f
- Commit message:
- Added uart forwarding to dsp module
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sun Feb 04 16:14:03 2018 +0000
+++ b/main.cpp Mon Feb 19 10:23:59 2018 +0000
@@ -96,6 +96,7 @@
//#define DEBUG_MOD1 // json packet recognise
//#define DEBUG_MOD2 // json parse
//#define DEBUG_MOD3 // switch handler
+#define DEBUG_MOD4 // serial with dsp module
#define DEBUG_MOD10 // responsivity msges to gui
#define MSG_BUFFER_SIZE 512
@@ -111,6 +112,9 @@
// uart
Serial pc(USBTX, USBRX);
+// uart switch_dsp
+Serial dsp(PC_10, PC_11);
+
// digital input
DigitalIn user_button(PC_13);
@@ -175,6 +179,9 @@
// Serial Event function
void rxCallback(void);
+// serial event from DSP
+void rxDspCallback(void);
+
// initialize packet struct
void initPacket(void);
@@ -195,9 +202,13 @@
initPacket();
// init uart
pc.baud(57600);
+ dsp.baud(57600);
// attach serial event interrupt
pc.attach(&rxCallback, Serial::RxIrq);
-
+
+ // attach serial event interrupt
+ dsp.attach(&rxDspCallback, Serial::RxIrq);
+
// initialize switch
initSwitch();
#ifdef DEBUG_MOD1
@@ -206,7 +217,7 @@
///////////////////////
// Main Code Loop : //
///////////////////////
- while(0) {
+ while(0) { // does nothing. everything is currently in the callbacks
if(1) {
micAData[0] = a_data_1.read_u16();
micAData[1] = a_data_2.read_u16();
@@ -240,6 +251,16 @@
en_spk_5.write(0);
}// end init switch
+// serial event from DSP
+void rxDspCallback(void)
+{
+ while (dsp.readable()) {
+ uint8_t in_byte = dsp.getc();
+#ifdef DEBUG_MOD4
+ pc.putc(in_byte);
+#endif
+ }
+} // end rxDspCallback
// Serial Event function
void rxCallback(void)
@@ -375,7 +396,10 @@
switchPacket();
} else if (targetName == "dsp") {
// send msg to dsp
+ dsp.printf("json:%s", json);
+#ifdef DEBUG_MOD2
pc.printf("json:%s", json);
+#endif
} else {
#ifdef DEBUG_MOD2
// unrecognised target
@@ -398,10 +422,10 @@
for (int ii=0 ; ii < 5 ; ii++) {
spkChannle[ii] = guiCmd["spk"][ii].get<bool>();
}
-#ifdef DEBUG_MOD10
+#ifdef DEBUG_MOD10
// send parsed values
pc.printf("mic: %d , spk: [%d,%d,%d,%d,%d]\r\n", micChannle,spkChannle[0],spkChannle[1],spkChannle[2],spkChannle[3],spkChannle[4]);
-#endif
+#endif
// update hardware
// update mic select mux
uint8_t micByte = (uint8_t) micChannle;