boart test board

Dependencies:   USBDevice mbed-dev lwip

Fork of USBSerial_HelloWorld by Compass Yap

Committer:
ua1arn
Date:
Tue Jul 24 17:37:05 2018 +0000
Revision:
15:825cce18de03
Parent:
13:d838b256c7e0
Child:
16:07f39e7a1cc2
network (lwip 1.4.1 and servers) added to project

Who changed what in which revision?

UserRevisionLine numberNew contents of line
samux 7:5e693654d5b4 1 #include "mbed.h"
samux 7:5e693654d5b4 2 #include "USBSerial.h"
ua1arn 11:eeb36b2beeda 3
ua1arn 11:eeb36b2beeda 4
ua1arn 12:d15a7d7feb12 5 static USBSerial pc(0xFFFF, 0x0002, 0x0001);
ua1arn 11:eeb36b2beeda 6
ua1arn 12:d15a7d7feb12 7 //static DigitalOut beep(PB_11);
ua1arn 12:d15a7d7feb12 8 static PwmOut beep(PB_11);
ua1arn 11:eeb36b2beeda 9
ua1arn 12:d15a7d7feb12 10 /**TIM3 GPIO Configuration
ua1arn 12:d15a7d7feb12 11 PA7 ------> TIM3_CH2
ua1arn 12:d15a7d7feb12 12 PB0 ------> TIM3_CH3 !!!!
ua1arn 12:d15a7d7feb12 13 PB1 ------> TIM3_CH4
ua1arn 12:d15a7d7feb12 14 PB4 ------> TIM3_CH1
ua1arn 12:d15a7d7feb12 15 */
ua1arn 12:d15a7d7feb12 16 /**TIM4 GPIO Configuration
ua1arn 12:d15a7d7feb12 17 PD12 ------> TIM4_CH1
ua1arn 12:d15a7d7feb12 18 PD13 ------> TIM4_CH2
ua1arn 12:d15a7d7feb12 19 */
ua1arn 12:d15a7d7feb12 20
ua1arn 12:d15a7d7feb12 21 static DigitalIn button(PE_2);
ua1arn 12:d15a7d7feb12 22 static DigitalIn opn_sw(PD_7);
ua1arn 12:d15a7d7feb12 23 static DigitalOut din(PA_7);
ua1arn 12:d15a7d7feb12 24 static DigitalOut din_light(PB_1);
ua1arn 12:d15a7d7feb12 25 static DigitalOut ud_pwm(PD_12);
ua1arn 12:d15a7d7feb12 26 static DigitalOut lr_pwm(PD_13);
ua1arn 11:eeb36b2beeda 27 //PwmOut UD_PWM(PD_12);
ua1arn 11:eeb36b2beeda 28 //PwmOut LR_PWM(PD_13);
ua1arn 11:eeb36b2beeda 29
ua1arn 13:d838b256c7e0 30 static Serial bt(PG_14, PG_9, 9600); // tx, rx USART6 work
ua1arn 12:d15a7d7feb12 31 static Serial rfid(PD_5, PD_6, 9600); // tx, rx USART2 work
ua1arn 13:d838b256c7e0 32 static Serial wifi(PA_9, PA_10, 9600); // tx, rx USART1 work
ua1arn 13:d838b256c7e0 33 static Serial fifi2(PB_10, PC_5, 9600); // tx, rx USART3 - overlap with STDIO USART
ua1arn 12:d15a7d7feb12 34
ua1arn 12:d15a7d7feb12 35 #define I2CADDR1 0x5F // 0xbe
ua1arn 12:d15a7d7feb12 36 #define I2CADDR2 0x6B // 0xd6
ua1arn 12:d15a7d7feb12 37
ua1arn 15:825cce18de03 38 // LwIP timers support
ua1arn 15:825cce18de03 39 extern "C" {
ua1arn 15:825cce18de03 40 uint32_t sys_now()
ua1arn 15:825cce18de03 41 {
ua1arn 15:825cce18de03 42 return 0;
ua1arn 15:825cce18de03 43 }
ua1arn 15:825cce18de03 44 }
ua1arn 15:825cce18de03 45
ua1arn 12:d15a7d7feb12 46
ua1arn 11:eeb36b2beeda 47 static I2C i2c(PB_9, PB_8);
ua1arn 11:eeb36b2beeda 48
ua1arn 11:eeb36b2beeda 49 int main(void)
ua1arn 11:eeb36b2beeda 50 {
ua1arn 12:d15a7d7feb12 51
ua1arn 12:d15a7d7feb12 52 //wifi.baud(115200);
ua1arn 12:d15a7d7feb12 53 //wifi2.baud(115200);
ua1arn 12:d15a7d7feb12 54
ua1arn 13:d838b256c7e0 55 //beep.period((float) 0.001); //set la periode a 1khz
ua1arn 13:d838b256c7e0 56 //beep.write(50); // duty
ua1arn 12:d15a7d7feb12 57 din = 1;
ua1arn 12:d15a7d7feb12 58 din_light = 1;
ua1arn 12:d15a7d7feb12 59 ud_pwm = 1;
ua1arn 12:d15a7d7feb12 60 lr_pwm = 1;
ua1arn 12:d15a7d7feb12 61
ua1arn 11:eeb36b2beeda 62 int i = 1;
ua1arn 11:eeb36b2beeda 63 int devices_found;
ua1arn 11:eeb36b2beeda 64 uint8_t curr_addr;
ua1arn 11:eeb36b2beeda 65 char data[1] = {'\0'};
ua1arn 11:eeb36b2beeda 66 pc.printf("\r\n");
ua1arn 11:eeb36b2beeda 67 pc.printf("Program begin\r\n");
ua1arn 11:eeb36b2beeda 68 wait(1);
ua1arn 11:eeb36b2beeda 69
ua1arn 12:d15a7d7feb12 70 while(0) {
ua1arn 11:eeb36b2beeda 71
ua1arn 11:eeb36b2beeda 72 devices_found = 0;
ua1arn 12:d15a7d7feb12 73 //beep = !beep;
ua1arn 11:eeb36b2beeda 74
ua1arn 11:eeb36b2beeda 75 for (i = 0; i < 128; i++) {
ua1arn 11:eeb36b2beeda 76 curr_addr = i << 1;
ua1arn 11:eeb36b2beeda 77 if (!i2c.write(curr_addr, data, 1)) {
ua1arn 11:eeb36b2beeda 78 pc.printf("found device at 0x%x\r\n", curr_addr);
ua1arn 11:eeb36b2beeda 79 devices_found++;
ua1arn 11:eeb36b2beeda 80 }
ua1arn 11:eeb36b2beeda 81 wait(0.2);
ua1arn 11:eeb36b2beeda 82 }
ua1arn 11:eeb36b2beeda 83
ua1arn 11:eeb36b2beeda 84 pc.printf("%d devices found\r\n", devices_found);
ua1arn 11:eeb36b2beeda 85 wait(2);
ua1arn 11:eeb36b2beeda 86 }
ua1arn 11:eeb36b2beeda 87
ua1arn 11:eeb36b2beeda 88 while(1) {
ua1arn 12:d15a7d7feb12 89 //beep = 1;
ua1arn 12:d15a7d7feb12 90 //beep.period((float) 0.001); //set la periode a 1khz
ua1arn 12:d15a7d7feb12 91 pc.printf("I am a virtual serial port - phase a1, btn=%d\r\n", (int) opn_sw.read());
ua1arn 11:eeb36b2beeda 92 wait(1)
ua1arn 11:eeb36b2beeda 93 ;
ua1arn 12:d15a7d7feb12 94 //beep = 0;
ua1arn 11:eeb36b2beeda 95 //BEEP.period((float) 0.002); //set la periode a 1khz
ua1arn 12:d15a7d7feb12 96 pc.printf("I am a virtual serial port - phase a2, btn=%d\r\n", (int) opn_sw.read());
ua1arn 11:eeb36b2beeda 97 wait(1)
ua1arn 11:eeb36b2beeda 98 ;
samux 7:5e693654d5b4 99 }
samux 7:5e693654d5b4 100 }