boart test board
Dependencies: USBDevice mbed-dev lwip
Fork of USBSerial_HelloWorld by
main.cpp@15:825cce18de03, 2018-07-24 (annotated)
- 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?
User | Revision | Line number | New 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 | } |