boart test board
Dependencies: USBDevice mbed-dev lwip
Fork of USBSerial_HelloWorld by
main.cpp@16:07f39e7a1cc2, 2018-07-24 (annotated)
- 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?
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 | 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 | } |