Thomas Cauwelier / Mbed 2 deprecated visible_light_communication

Dependencies:   SoftSerial SDFileSystem mbed wave_player

Committer:
Thomas Cauwelier
Date:
Wed May 03 00:59:46 2017 +0200
Revision:
9:d95984ce5de9
Parent:
8:4fcc746968b3
Child:
10:071b7cc8b0ff
uart thread test (encoding)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Desertification 1:6b839581dc9f 1
Desertification 1:6b839581dc9f 2 #include "mbed.h"
Thomas Cauwelier 6:0e1973fdfe28 3 #include "rtos.h"
Thomas Cauwelier 9:d95984ce5de9 4 #include "Manchester.h"
Thomas Cauwelier 6:0e1973fdfe28 5
Thomas Cauwelier 9:d95984ce5de9 6 Serial out(p9, p10, 3200); //p9
Thomas Cauwelier 9:d95984ce5de9 7 Serial in(p13, p14, 3200); //p14
Thomas Cauwelier 6:0e1973fdfe28 8
Thomas Cauwelier 6:0e1973fdfe28 9
Thomas Cauwelier 6:0e1973fdfe28 10 void receive_uart() {
Thomas Cauwelier 6:0e1973fdfe28 11 while (true){
Thomas Cauwelier 6:0e1973fdfe28 12 if(in.readable()){
Thomas Cauwelier 9:d95984ce5de9 13 char s[28];
Thomas Cauwelier 9:d95984ce5de9 14 in.gets(s, 28);
Thomas Cauwelier 9:d95984ce5de9 15
Thomas Cauwelier 9:d95984ce5de9 16 char dec[14];
Thomas Cauwelier 9:d95984ce5de9 17 Manchester::decode_manchester(s,28,dec);
Thomas Cauwelier 9:d95984ce5de9 18
Thomas Cauwelier 9:d95984ce5de9 19 printf(dec);
Thomas Cauwelier 6:0e1973fdfe28 20 }else{
Thomas Cauwelier 6:0e1973fdfe28 21 Thread::yield();
Thomas Cauwelier 6:0e1973fdfe28 22 }
Thomas Cauwelier 6:0e1973fdfe28 23 }
Thomas Cauwelier 6:0e1973fdfe28 24 }
Desertification 1:6b839581dc9f 25
Desertification 1:6b839581dc9f 26 int main() {
Thomas Cauwelier 7:2b99a26e6a43 27 printf("%s\r\n", "hello, term!");
Thomas Cauwelier 7:2b99a26e6a43 28
Thomas Cauwelier 7:2b99a26e6a43 29 Thread thread;
Thomas Cauwelier 7:2b99a26e6a43 30 thread.start(receive_uart);
Thomas Cauwelier 6:0e1973fdfe28 31
Thomas Cauwelier 6:0e1973fdfe28 32 while (true){
Thomas Cauwelier 8:4fcc746968b3 33 while (!out.writeable());
Thomas Cauwelier 9:d95984ce5de9 34
Thomas Cauwelier 9:d95984ce5de9 35 char tosend[28];
Thomas Cauwelier 9:d95984ce5de9 36 Manchester::encode_manchester("hello, term\r\n",14,tosend);
Thomas Cauwelier 9:d95984ce5de9 37 out.printf(tosend);
Thomas Cauwelier 9:d95984ce5de9 38 wait(1);
Thomas Cauwelier 6:0e1973fdfe28 39 }
Thomas Cauwelier 6:0e1973fdfe28 40
thoma@THOMAS-CAUWELIER.khbo.be 4:a07612fbf279 41 }