boart test board

Dependencies:   USBDevice mbed-dev lwip

Fork of USBSerial_HelloWorld by Compass Yap

Committer:
ua1arn
Date:
Tue Jul 24 18:24:46 2018 +0000
Revision:
16:07f39e7a1cc2
Parent:
15:825cce18de03
Child:
19:8b7595ced647
pwm now work

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