.
Dependencies: L432KC_SPI_Pey_Lal
main.cpp@110:a6d1d3525014, 2022-04-07 (annotated)
- Committer:
- voltxd
- Date:
- Thu Apr 07 12:13:04 2022 +0000
- Revision:
- 110:a6d1d3525014
- Parent:
- 109:4ee7ffc8f175
- Child:
- 111:f11575e7c79b
.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 82:abf1b1785bd7 | 1 | /* mbed Microcontroller Library |
mbed_official | 102:6979ad8bc0bc | 2 | * Copyright (c) 2019 ARM Limited |
mbed_official | 82:abf1b1785bd7 | 3 | * SPDX-License-Identifier: Apache-2.0 |
mbed_official | 82:abf1b1785bd7 | 4 | */ |
mbed_official | 82:abf1b1785bd7 | 5 | |
Jonathan Austin |
0:2757d7abb7d9 | 6 | #include "mbed.h" |
mbed_official | 100:ec006d6f3cb6 | 7 | #include "platform/mbed_thread.h" |
voltxd | 108:2fd41d299a8c | 8 | #include <SPISlave.h> |
voltxd | 109:4ee7ffc8f175 | 9 | #include "protocol.h" |
Jonathan Austin |
0:2757d7abb7d9 | 10 | |
Jonathan Austin |
0:2757d7abb7d9 | 11 | |
mbed_official | 102:6979ad8bc0bc | 12 | // Blinking rate in milliseconds |
voltxd | 108:2fd41d299a8c | 13 | #define BLINKING_RATE_MS 2000 |
mbed_official | 88:bea4f2daa48c | 14 | |
voltxd | 108:2fd41d299a8c | 15 | //Define SPI |
voltxd | 108:2fd41d299a8c | 16 | #define SPI3_MOSI D11 |
voltxd | 108:2fd41d299a8c | 17 | #define SPI3_MISO D12 |
voltxd | 108:2fd41d299a8c | 18 | #define SPI3_SCLK D13 |
voltxd | 108:2fd41d299a8c | 19 | #define SPI3_CS A3 |
ajuton | 107:0965c72c798e | 20 | |
voltxd | 108:2fd41d299a8c | 21 | //Define PWM |
voltxd | 108:2fd41d299a8c | 22 | #define PWM_PROP D10 |
voltxd | 108:2fd41d299a8c | 23 | #define PWM_DIR D9 |
ajuton | 107:0965c72c798e | 24 | |
voltxd | 108:2fd41d299a8c | 25 | //Déclarations PWM |
voltxd | 108:2fd41d299a8c | 26 | PwmOut propulsion(PWM_PROP); |
voltxd | 108:2fd41d299a8c | 27 | PwmOut direction(PWM_DIR); |
ajuton | 107:0965c72c798e | 28 | |
voltxd | 108:2fd41d299a8c | 29 | //Déclarations Liaisons |
ajuton | 107:0965c72c798e | 30 | static BufferedSerial serial_port(USBTX, USBRX,115200); |
voltxd | 108:2fd41d299a8c | 31 | SPISlave device(SPI3_MOSI, SPI3_MISO, SPI3_SCLK, SPI3_CS); // mosi, miso, sclk, ssel |
mbed_official | 102:6979ad8bc0bc | 32 | |
mbed_official | 82:abf1b1785bd7 | 33 | int main() |
mbed_official | 82:abf1b1785bd7 | 34 | { |
ajuton | 107:0965c72c798e | 35 | uint32_t pulsewidth_direction = 1100; |
voltxd | 109:4ee7ffc8f175 | 36 | uint32_t pulsewidth_propulsion = 1500; |
voltxd | 109:4ee7ffc8f175 | 37 | |
voltxd | 108:2fd41d299a8c | 38 | char texte[32]; |
voltxd | 109:4ee7ffc8f175 | 39 | |
voltxd | 108:2fd41d299a8c | 40 | sprintf(texte,"Test\n\r"); |
voltxd | 108:2fd41d299a8c | 41 | serial_port.write(texte,strlen(texte)); |
voltxd | 109:4ee7ffc8f175 | 42 | |
ajuton | 107:0965c72c798e | 43 | propulsion.period_us(20000); |
voltxd | 109:4ee7ffc8f175 | 44 | propulsion.pulsewidth_us(pulsewidth_propulsion); |
voltxd | 109:4ee7ffc8f175 | 45 | |
voltxd | 108:2fd41d299a8c | 46 | thread_sleep_for(2000); |
voltxd | 109:4ee7ffc8f175 | 47 | |
ajuton | 107:0965c72c798e | 48 | direction.period_us(20000); |
ajuton | 107:0965c72c798e | 49 | direction.pulsewidth_us(pulsewidth_direction); |
voltxd | 109:4ee7ffc8f175 | 50 | |
voltxd | 108:2fd41d299a8c | 51 | device.format(8); |
voltxd | 108:2fd41d299a8c | 52 | |
Jonathan Austin |
0:2757d7abb7d9 | 53 | while (true) { |
voltxd | 110:a6d1d3525014 | 54 | if(device.receive()) |
voltxd | 109:4ee7ffc8f175 | 55 | { |
voltxd | 110:a6d1d3525014 | 56 | //decodeMessage((char)device.read()); |
voltxd | 109:4ee7ffc8f175 | 57 | } |
voltxd | 110:a6d1d3525014 | 58 | if(isDataAvailable()) |
voltxd | 109:4ee7ffc8f175 | 59 | { |
voltxd | 110:a6d1d3525014 | 60 | getVerifiedPWMValues(&pulsewidth_propulsion, &pulsewidth_direction); |
voltxd | 109:4ee7ffc8f175 | 61 | propulsion.pulsewidth_us(pulsewidth_propulsion); |
voltxd | 109:4ee7ffc8f175 | 62 | direction.pulsewidth_us(pulsewidth_direction); |
voltxd | 109:4ee7ffc8f175 | 63 | } |
voltxd | 109:4ee7ffc8f175 | 64 | |
voltxd | 108:2fd41d299a8c | 65 | /* |
ajuton | 107:0965c72c798e | 66 | |
voltxd | 108:2fd41d299a8c | 67 | propulsion.pulsewidth_us(1450); |
voltxd | 108:2fd41d299a8c | 68 | thread_sleep_for(BLINKING_RATE_MS); |
voltxd | 108:2fd41d299a8c | 69 | led = !led; |
voltxd | 108:2fd41d299a8c | 70 | propulsion.pulsewidth_us(1400); |
voltxd | 108:2fd41d299a8c | 71 | thread_sleep_for(BLINKING_RATE_MS); |
voltxd | 108:2fd41d299a8c | 72 | led = !led; |
voltxd | 108:2fd41d299a8c | 73 | propulsion.pulsewidth_us(1500); |
voltxd | 108:2fd41d299a8c | 74 | thread_sleep_for(BLINKING_RATE_MS); |
voltxd | 108:2fd41d299a8c | 75 | led = !led; |
voltxd | 108:2fd41d299a8c | 76 | propulsion.pulsewidth_us(1550); |
voltxd | 108:2fd41d299a8c | 77 | thread_sleep_for(BLINKING_RATE_MS); |
voltxd | 108:2fd41d299a8c | 78 | led = !led; |
voltxd | 108:2fd41d299a8c | 79 | propulsion.pulsewidth_us(1600); |
voltxd | 108:2fd41d299a8c | 80 | thread_sleep_for(BLINKING_RATE_MS); |
voltxd | 108:2fd41d299a8c | 81 | led = !led; |
voltxd | 108:2fd41d299a8c | 82 | propulsion.pulsewidth_us(1800); |
voltxd | 108:2fd41d299a8c | 83 | thread_sleep_for(BLINKING_RATE_MS); |
voltxd | 108:2fd41d299a8c | 84 | */ |
ajuton | 107:0965c72c798e | 85 | |
voltxd | 109:4ee7ffc8f175 | 86 | |
Jonathan Austin |
0:2757d7abb7d9 | 87 | } |
Jonathan Austin |
0:2757d7abb7d9 | 88 | } |