QAQ ==!
Dependencies: mbed QEI-1 nRF24L01P xiugai
Diff: SYN6288.h
- Revision:
- 7:6f8157c58241
- Child:
- 9:d03b1af2b8d8
diff -r 7db9b13ece76 -r 6f8157c58241 SYN6288.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SYN6288.h Thu Nov 07 06:31:09 2019 +0000 @@ -0,0 +1,45 @@ +#include <string> +typedef bool boolean; +typedef std::string String; + +void voice_play(String value_, Serial* ser) { + const char* value = value_.c_str(); + int size = strlen(value); + int data_length = 1+2+1+1+size; + int* data = (int*)malloc(sizeof(int)*(data_length+1)); + + int start = 0xfd; + int length = size + 3; + int length_h = length / 256; + int length_l = length % 256; + int command = 0x01; + int param = 0x01; + + data[0] = start; + data[1] = length_h; + data[2] = length_l; + data[3] = command; + data[4] = param; + + for (int i=5; i<5+size; i++) { + data[i] = value[i-5]; + } + + // calculate check bit + int check_bit = data[0]; + for (int i=1; i<data_length; i++) { + check_bit ^= data[i]; + } + data[data_length] = check_bit; + + for (int i=0; i<=data_length; i++) { + ser->putc(data[i]); + } + + free(data); + + //int recv = ser->getc(); + //PC.printf("%c", recv); + //int done = ser->getc(); + //PC.printf("%c", done); +} \ No newline at end of file