Skip to content

Commit 00cfa6e

Browse files
committed
Progress ref_app form but needs C++-ification
1 parent 410b769 commit 00cfa6e

34 files changed

Lines changed: 867 additions & 257 deletions

ref_app/ref_app.vcxproj

Lines changed: 96 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,46 @@
473473
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
474474
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
475475
</ClCompile>
476+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_cpu.cpp">
477+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
478+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
479+
</ClCompile>
480+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_eep.cpp">
481+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
482+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
483+
</ClCompile>
484+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_gpt.cpp">
485+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
486+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
487+
</ClCompile>
488+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_irq.cpp">
489+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
490+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
491+
</ClCompile>
492+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_led.cpp">
493+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
494+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
495+
</ClCompile>
496+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_osc.cpp">
497+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
498+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
499+
</ClCompile>
500+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_port.cpp">
501+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
502+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
503+
</ClCompile>
504+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_pwm.cpp">
505+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
506+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
507+
</ClCompile>
508+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_spi.cpp">
509+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
510+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
511+
</ClCompile>
512+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_wdg.cpp">
513+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
514+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
515+
</ClCompile>
476516
<ClCompile Include="src\mcal\host\mcal_cpu.cpp" />
477517
<ClCompile Include="src\mcal\host\mcal_eep.cpp" />
478518
<ClCompile Include="src\mcal\host\mcal_gpt.cpp" />
@@ -1868,6 +1908,62 @@
18681908
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
18691909
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
18701910
</ClInclude>
1911+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_benchmark.h">
1912+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1913+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1914+
</ClInclude>
1915+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_cpu.h">
1916+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1917+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1918+
</ClInclude>
1919+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_eep.h">
1920+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1921+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1922+
</ClInclude>
1923+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_gpt.h">
1924+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1925+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1926+
</ClInclude>
1927+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_irq.h">
1928+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1929+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1930+
</ClInclude>
1931+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_led.h">
1932+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1933+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1934+
</ClInclude>
1935+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_memory_progmem.h">
1936+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1937+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1938+
</ClInclude>
1939+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_osc.h">
1940+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1941+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1942+
</ClInclude>
1943+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_port.h">
1944+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1945+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1946+
</ClInclude>
1947+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_pwm.h">
1948+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1949+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1950+
</ClInclude>
1951+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_reg.h">
1952+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1953+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1954+
</ClInclude>
1955+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_ser.h">
1956+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1957+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1958+
</ClInclude>
1959+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_spi.h">
1960+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1961+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1962+
</ClInclude>
1963+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_wdg.h">
1964+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
1965+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
1966+
</ClInclude>
18711967
<ClInclude Include="src\mcal\host\mcal_benchmark.h" />
18721968
<ClInclude Include="src\mcal\host\mcal_cpu.h" />
18731969
<ClInclude Include="src\mcal\host\mcal_eep.h" />
@@ -3531,10 +3627,6 @@
35313627
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
35323628
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
35333629
</Text>
3534-
<Text Include="src\mcal\bl602_sifive_e24_riscv\mcal.txt">
3535-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
3536-
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
3537-
</Text>
35383630
<Text Include="tools\Util\msys64\usr\bin\README.md" />
35393631
<Text Include="tools\Util\msys64\usr\local\gcc-13.2.0-x86_64-w64-mingw32\README_STL.txt" />
35403632
</ItemGroup>

ref_app/ref_app.vcxproj.filters

Lines changed: 72 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,6 +1306,36 @@
13061306
<ClCompile Include="src\mcal\am6254_soc\mcal_spi.cpp">
13071307
<Filter>src\mcal\am6254_soc</Filter>
13081308
</ClCompile>
1309+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_cpu.cpp">
1310+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1311+
</ClCompile>
1312+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_eep.cpp">
1313+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1314+
</ClCompile>
1315+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_gpt.cpp">
1316+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1317+
</ClCompile>
1318+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_irq.cpp">
1319+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1320+
</ClCompile>
1321+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_led.cpp">
1322+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1323+
</ClCompile>
1324+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_osc.cpp">
1325+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1326+
</ClCompile>
1327+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_port.cpp">
1328+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1329+
</ClCompile>
1330+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_pwm.cpp">
1331+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1332+
</ClCompile>
1333+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_spi.cpp">
1334+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1335+
</ClCompile>
1336+
<ClCompile Include="src\mcal\bl602_sifive_e24_riscv\mcal_wdg.cpp">
1337+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
1338+
</ClCompile>
13091339
</ItemGroup>
13101340
<ItemGroup>
13111341
<ClInclude Include="src\math\calculus\derivative.h">
@@ -2955,6 +2985,48 @@
29552985
<ClInclude Include="src\util\utility\util_attribute.h">
29562986
<Filter>src\util\utility</Filter>
29572987
</ClInclude>
2988+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_cpu.h">
2989+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
2990+
</ClInclude>
2991+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_eep.h">
2992+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
2993+
</ClInclude>
2994+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_gpt.h">
2995+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
2996+
</ClInclude>
2997+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_irq.h">
2998+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
2999+
</ClInclude>
3000+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_led.h">
3001+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3002+
</ClInclude>
3003+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_memory_progmem.h">
3004+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3005+
</ClInclude>
3006+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_osc.h">
3007+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3008+
</ClInclude>
3009+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_port.h">
3010+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3011+
</ClInclude>
3012+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_pwm.h">
3013+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3014+
</ClInclude>
3015+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_reg.h">
3016+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3017+
</ClInclude>
3018+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_ser.h">
3019+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3020+
</ClInclude>
3021+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_spi.h">
3022+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3023+
</ClInclude>
3024+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_wdg.h">
3025+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3026+
</ClInclude>
3027+
<ClInclude Include="src\mcal\bl602_sifive_e24_riscv\mcal_benchmark.h">
3028+
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3029+
</ClInclude>
29583030
</ItemGroup>
29593031
<ItemGroup>
29603032
<None Include="src\util\STL\algorithm">
@@ -3197,8 +3269,5 @@
31973269
<Text Include="tools\Util\msys64\usr\bin\README.md">
31983270
<Filter>tools\Util\msys64\usr\bin</Filter>
31993271
</Text>
3200-
<Text Include="src\mcal\bl602_sifive_e24_riscv\mcal.txt">
3201-
<Filter>src\mcal\bl602_sifive_e24_riscv</Filter>
3202-
</Text>
32033272
</ItemGroup>
32043273
</Project>

ref_app/src/mcal/bl602_sifive_e24_riscv/mcal.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2014 - 2025.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#ifndef MCAL_BENCHMARK_2014_04_16_H
9+
#define MCAL_BENCHMARK_2014_04_16_H
10+
11+
#include <mcal_port.h>
12+
#include <mcal_reg.h>
13+
14+
#include <cstdint>
15+
16+
namespace mcal
17+
{
18+
namespace benchmark
19+
{
20+
using benchmark_port_type = mcal::port::port_pin;
21+
}
22+
}
23+
24+
#endif // MCAL_BENCHMARK_2014_04_16_H
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2007 - 2025.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#include <mcal_cpu.h>
9+
10+
auto mcal::cpu::init() -> void
11+
{
12+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2025.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#ifndef MCAL_CPU_2025_07_30_H
9+
#define MCAL_CPU_2025_07_30_H
10+
11+
#if defined(__cplusplus)
12+
#include <cstdint>
13+
#else
14+
#include <stdint.h>
15+
#endif
16+
17+
#if defined(__cplusplus)
18+
extern "C"
19+
{
20+
#endif
21+
22+
void mcal_cpu_secure_acquire_spin_lock(volatile uint32_t*);
23+
void mcal_cpu_secure_release_spin_lock(volatile uint32_t*);
24+
25+
static inline void mcal_cpu_nop(void);
26+
27+
#if defined(__cplusplus)
28+
}
29+
#endif
30+
31+
#if defined(__cplusplus)
32+
namespace mcal
33+
{
34+
namespace cpu
35+
{
36+
auto init() -> void;
37+
38+
inline auto post_init() -> void { }
39+
40+
inline auto nop() noexcept -> void { asm volatile("nop"); }
41+
42+
struct secure
43+
{
44+
static auto acquire_spin_lock(volatile std::uint32_t* p_sync) noexcept -> void { mcal_cpu_secure_acquire_spin_lock(p_sync); }
45+
static auto release_spin_lock(volatile std::uint32_t* p_sync) noexcept -> void { mcal_cpu_secure_release_spin_lock(p_sync); }
46+
};
47+
}
48+
}
49+
#endif
50+
51+
#if defined(__cplusplus)
52+
extern "C"
53+
{
54+
#endif
55+
56+
static inline void mcal_cpu_nop(void) { __asm volatile("nop"); }
57+
58+
#if defined(__cplusplus)
59+
}
60+
#endif
61+
62+
#endif // MCAL_CPU_2025_07_30_H
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2007 - 2025.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#include <mcal_eep.h>
9+
10+
auto mcal::eep::write(const address_type addr, const std::uint8_t data) -> void
11+
{
12+
static_cast<void>(addr);
13+
static_cast<void>(data);
14+
}
15+
16+
auto mcal::eep::read(const address_type addr) -> std::uint8_t
17+
{
18+
static_cast<void>(addr);
19+
20+
return UINT8_C(0);
21+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
///////////////////////////////////////////////////////////////////////////////
2+
// Copyright Christopher Kormanyos 2007 - 2025.
3+
// Distributed under the Boost Software License,
4+
// Version 1.0. (See accompanying file LICENSE_1_0.txt
5+
// or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
//
7+
8+
#ifndef MCAL_EEP_2018_12_15_H
9+
#define MCAL_EEP_2018_12_15_H
10+
11+
#include <cstdint>
12+
13+
namespace mcal
14+
{
15+
namespace eep
16+
{
17+
using config_type = void;
18+
using address_type = std::uint32_t;
19+
20+
inline auto init(const config_type*) -> void { }
21+
22+
auto write(const address_type addr, const std::uint8_t data) -> void;
23+
auto read (const address_type addr) -> std::uint8_t;
24+
}
25+
}
26+
27+
#endif // MCAL_EEP_2018_12_15_H

0 commit comments

Comments
 (0)