Skip to content

Commit c0fb1bc

Browse files
authored
🎨 Update demos to libhal 1.9.0 (#112)
1 parent 6042017 commit c0fb1bc

File tree

5 files changed

+26
-7
lines changed

5 files changed

+26
-7
lines changed

demos/.clangd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
CompileFlags:
22
CompilationDatabase: .
3+
BuiltinHeaders: QueryDriver

demos/applications/zero_copy_serial.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ void application(resource_list& p_map)
2525
using namespace hal::literals;
2626

2727
auto& clock = *p_map.clock.value();
28-
auto& console = *p_map.console.value();
28+
auto& console = *p_map.zero_copy_serial.value();
2929

3030
auto previous_cursor = console.receive_cursor();
3131

demos/conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ class demos(ConanFile):
2323

2424
def requirements(self):
2525
self.requires("libhal-util/[^5.4.0]")
26-
self.requires("libhal-arm-mcu/[1.8.0 || latest]")
26+
self.requires("libhal-arm-mcu/[1.9.0 || latest]")
2727
self.requires("minimp3/cci.20211201")

demos/platforms/stm32f103c8.cpp

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@
1818
#include <libhal-arm-mcu/stm32f1/can.hpp>
1919
#include <libhal-arm-mcu/stm32f1/clock.hpp>
2020
#include <libhal-arm-mcu/stm32f1/constants.hpp>
21+
#include <libhal-arm-mcu/stm32f1/gpio.hpp>
2122
#include <libhal-arm-mcu/stm32f1/input_pin.hpp>
2223
#include <libhal-arm-mcu/stm32f1/output_pin.hpp>
2324
#include <libhal-arm-mcu/stm32f1/spi.hpp>
2425
#include <libhal-arm-mcu/stm32f1/timer.hpp>
2526
#include <libhal-arm-mcu/stm32f1/uart.hpp>
27+
#include <libhal-arm-mcu/stm32f1/usart.hpp>
2628
#include <libhal-arm-mcu/system_control.hpp>
2729
#include <libhal-util/atomic_spin_lock.hpp>
2830
#include <libhal-util/bit_bang_i2c.hpp>
@@ -47,24 +49,38 @@ void initialize_platform(resource_list& p_resources)
4749
hal::stm32f1::maximum_speed_using_internal_oscillator();
4850
hal::stm32f1::release_jtag_pins();
4951

52+
using st_peripheral = hal::stm32f1::peripheral;
53+
5054
auto cpu_frequency = hal::stm32f1::frequency(hal::stm32f1::peripheral::cpu);
5155
static hal::cortex_m::dwt_counter steady_clock(cpu_frequency);
5256
p_resources.clock = &steady_clock;
5357

5458
static hal::stm32f1::uart uart1(hal::port<1>, hal::buffer<128>);
5559
p_resources.console = &uart1;
5660

57-
static hal::stm32f1::output_pin led('C', 13);
61+
static hal::stm32f1::usart<st_peripheral::usart2> usart2;
62+
static auto usart2_serial = usart2.acquire_serial(hal::buffer<128>);
63+
p_resources.zero_copy_serial = &usart2_serial;
64+
65+
static hal::stm32f1::uart usart1(hal::port<1>, hal::buffer<128>);
66+
p_resources.console = &usart1;
67+
68+
// ===========================================================================
69+
// Setup GPIO
70+
// ===========================================================================
71+
72+
static hal::stm32f1::gpio<st_peripheral::gpio_a> gpio_a;
73+
static hal::stm32f1::gpio<st_peripheral::gpio_b> gpio_b;
74+
static hal::stm32f1::gpio<st_peripheral::gpio_c> gpio_c;
75+
static auto led = gpio_c.acquire_output_pin(13);
5876
p_resources.status_led = &led;
5977

6078
static hal::stm32f1::input_pin input_pin('B', 4);
6179
p_resources.input_pin = &input_pin;
6280

6381
static hal::atomic_spin_lock adc_lock;
64-
static hal::stm32f1::adc_peripheral_manager adc(
65-
hal::stm32f1::adc_peripheral_manager::adc_selection::adc1, adc_lock);
66-
static auto pb0 =
67-
adc.acquire_channel(hal::stm32f1::adc_peripheral_manager::pins::pb0);
82+
static hal::stm32f1::adc<st_peripheral::adc1> adc(adc_lock);
83+
static auto pb0 = adc.acquire_channel(hal::stm32f1::adc_pins::pb0);
6884
p_resources.adc = &pb0;
6985

7086
static hal::stm32f1::output_pin sda_output_pin('B', 7);

demos/resource_list.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include <libhal/spi.hpp>
3030
#include <libhal/steady_clock.hpp>
3131
#include <libhal/stream_dac.hpp>
32+
#include <libhal/zero_copy_serial.hpp>
3233

3334
struct resource_list
3435
{
@@ -40,6 +41,7 @@ struct resource_list
4041
// message will be printed if the `console` field has been set, then call
4142
// std::terminate.
4243
std::optional<hal::serial*> console;
44+
std::optional<hal::zero_copy_serial*> zero_copy_serial;
4345
std::optional<hal::output_pin*> status_led;
4446
std::optional<hal::steady_clock*> clock;
4547
std::optional<hal::can_transceiver*> can_transceiver;

0 commit comments

Comments
 (0)