Skip to content

Commit 324423b

Browse files
ethancheezLeStarch
authored andcommitted
Feather m0 support (#1)
* featherM0 cmake & HardwareRateDriver * Add basic timer, support for featherM0 update basic timer commit 01dc1ccb5034822ace8c6c6477b0e964dc5ebdbc Author: Ethan Chee <[email protected]> Date: Tue Jul 18 15:37:08 2023 -0700 Move setup_arduino_libraries call for i2c linking commit 98ada04b3903b5fb61ac5ce28e5bbf7f0da0a42e Author: Ethan Chee <[email protected]> Date: Mon Jul 17 22:41:54 2023 -0700 Fix I2cDriver Wire.h linking error commit 2f35207ff70904782ab98d034404b550757f736c Author: Ethan Chee <[email protected]> Date: Fri Jun 23 10:20:25 2023 -0700 teensy32 cmake compile options commit 91d43b0456ba9b560a0af0abf63befc5ea86aa10 Author: Ethan Chee <[email protected]> Date: Tue Jun 20 09:46:21 2023 -0700 I2C Driver requires Wire library commit cd6aa4cca01d6492d8cd1dd10e0927ca6be80a76 Author: Ethan Chee <[email protected]> Date: Thu Jun 15 17:39:42 2023 -0700 Restrict platform ArduinoFw commit 625a6f488c4b432c5fd81457c80d9411c8c0e459 Author: Ethan Chee <[email protected]> Date: Mon Jun 12 14:14:22 2023 -0700 cleanup commit 59273b4f89274a9c5b66668a7edd90ad61e5ed18 Author: Ethan Chee <[email protected]> Date: Thu Jun 8 08:53:28 2023 -0700 Add I2cDriver.close() / Wire.end() commit 2cb7fca1c57ec5a886c98c75f176875ca797397d Author: Ethan Chee <[email protected]> Date: Wed Jun 7 17:30:16 2023 -0700 Arduino I2cDriver commit 91ac63cd11ae2d13f2dfbf636e5d3a9478c4871e Author: Ethan Chee <[email protected]> Date: Wed May 31 15:30:11 2023 -0700 compile bug fixes for featherM0 and teensy41 commit 8d77126e8df261223b3d3eb190718013f31f7ffe Merge: 068d725 36588d2 Author: Ethan Chee <[email protected]> Date: Wed May 31 15:20:47 2023 -0700 Merge pull request #2 from SterlingPeet/mbed-work Mbed work commit 36588d25ebb26375f05d6d47ea46d82f6898004d Author: M Starch <[email protected]> Date: Wed May 31 12:31:27 2023 -0700 Fixing multiple target definitions when using multiple deployments commit e58ed092cec5c98d047aa7d21d7f2b53c5ab37b0 Author: M Starch <[email protected]> Date: Wed May 31 12:12:27 2023 -0700 Bug fixes for stream driver work commit e3c5ca4fa4504451cb10fed6896c0dc3450a5d51 Author: M Starch <[email protected]> Date: Sun May 28 14:37:20 2023 -0700 Adding featherrp20404rfm commit 91f7d214d839a5f2c35d5eaa03cf760287d41e83 Author: M Starch <[email protected]> Date: Sun May 28 14:36:45 2023 -0700 Changing serial driver to stream driver commit cb6a9a211234427440074953eeb9603d04bc47c5 Author: M Starch <[email protected]> Date: Thu May 25 09:46:03 2023 -0700 Working rp2040 builds commit 109f23748726f2e91ddbc15aae37edacda3c4b6e Merge: b498ed3 068d725 Author: M Starch <[email protected]> Date: Wed May 24 18:48:10 2023 -0700 Merge pull request #7 from ethancheez/mbed++ support for feather commit 068d725ae3f56c15662faada6f2b4a73d936489d Author: Ethan Chee <[email protected]> Date: Wed May 24 17:54:29 2023 -0700 support for feather commit b498ed378676fb10644a070f0fd63eb357850966 Author: M Starch <[email protected]> Date: Thu May 18 13:16:22 2023 -0700 Fixing rate driver to drive commit fb7e074ba1fd5c92a9a3107628422d7ab18679b4 Author: M Starch <[email protected]> Date: Wed May 17 11:11:08 2023 -0700 Minor fixes to post-command and C++ improvements commit b5e93fc8afd788445c487940b7bcef9bbd71b010 Author: M Starch <[email protected]> Date: Fri May 12 20:10:04 2023 -0700 Initial work with external script commit 8c22756077c51e4a103718823694bc07e5ccb9a2 Author: M Starch <[email protected]> Date: Sat Feb 25 00:07:40 2023 -0800 initial mbed work commit b833e631bae74d352e6ac0006f3474eca1828b23 Author: M Starch <[email protected]> Date: Fri Dec 16 17:29:17 2022 -0800 cleaned up arduino library support commit 1caa5310d72f15f01343a206b22eb757ad4f17b6 Author: M Starch <[email protected]> Date: Fri Dec 16 15:57:31 2022 -0800 library support working for teensy41 commit 36cdc56c628641670df680abdc47732b2baba042 Author: M Starch <[email protected]> Date: Wed Dec 14 12:00:36 2022 -0800 adding SPI.h commit af11d22d449b37f939d7a7c542858c86b6679738 Author: M Starch <[email protected]> Date: Wed Dec 14 02:22:47 2022 -0800 fixing .hex copy commit 0c16693ace157ca3f9ecfe71f87698584b2664cd Author: M Starch <[email protected]> Date: Wed Dec 14 02:02:43 2022 -0800 adding .hex file to install commit 69cfe2edd6f157762c48e8557e3f09e53b34c8bf Author: M Starch <[email protected]> Date: Wed Dec 14 01:51:01 2022 -0800 updating to handle archiving and ranlib commit 2bf1ba487197fa9cd6ea4d61bed923e7396fb12e Author: M Starch <[email protected]> Date: Tue Dec 13 23:23:13 2022 -0800 adding wire library commit 63ad8f163d0633d44922c386c5c64e34b88beb98 Author: M Starch <[email protected]> Date: Tue Dec 13 11:07:03 2022 -0800 fixing serial driver to report ready commit b4ff7fb685e9135f10b1db8be086fea2d0a370c0 Author: M Starch <[email protected]> Date: Tue Dec 13 09:11:49 2022 -0800 fixing serial driver, gpio driver, stream log commit 207fa6e42e27f19acab5240bed1a1e3da64d7bb5 Author: M Starch <[email protected]> Date: Wed Dec 7 21:27:43 2022 -0800 lestarch: working on teensy32 commit 7421568bad4cd0ceb02662db22c8a6df66286985 Author: M Starch <[email protected]> Date: Wed Dec 7 19:18:29 2022 -0800 removing old arduino support commit 2c891be4e95cb373974d8f1702061ebcba175288 Author: M Starch <[email protected]> Date: Wed Dec 7 19:04:44 2022 -0800 lestarch: adding teensy 4 toolchains commit 106e2fe22618e8da22ffda61b5399514b2a7cd3e Author: M Starch <[email protected]> Date: Sun Oct 16 13:07:10 2022 -0700 lestarch: cleaning up linking command commit 3b8720b7319be4166d947a0e44f226743452a18c Author: M Starch <[email protected]> Date: Sun Oct 16 12:37:37 2022 -0700 lestarch: updating components for fprime 3, fixing linking commit 042e0a745e850dd253c4e0a24f148d11f78dcf4c Author: Sterling Peet <[email protected]> Date: Sun Oct 16 11:13:45 2022 -0500 WIP: Kludge to update HardwareRateDriver without config commit d97e366966d5a09b82d8c11188247a76fec6421a Author: Sterling Peet <[email protected]> Date: Sun Oct 16 10:52:55 2022 -0500 Kludge to remove configuration from Serial Driver that is not accessible commit 4d919fab594cacadf52bdf250b94f235dafa9e3d Author: Sterling Peet <[email protected]> Date: Sat Oct 15 12:10:31 2022 -0500 Add kludgy support for TimerOne library, to be generalized later... commit 824115ef41668d8787e0482b103fd68e1519b437 Author: M Starch <[email protected]> Date: Fri Oct 14 13:24:32 2022 -0700 lestarch: more AVR fixes commit 8ff13c4a81998532b3d4a13696fcda4894f6431c Author: Sterling Peet <[email protected]> Date: Fri Oct 14 14:30:47 2022 -0400 Add new header for OS tasks commit dea454604830a1724b2d53d50a3ac788425be625 Author: Sterling Peet <[email protected]> Date: Fri Oct 14 14:16:19 2022 -0400 First pass at ATmega128 support commit 054dae63d75e6bf7d14c91deffea398a55b87d32 Author: M Starch <[email protected]> Date: Thu Oct 13 09:01:00 2022 -0700 lestarch: gpio driver rework commit c85d1831b2ad4b938a3be073746a6ba20e512b23 Author: M Starch <[email protected]> Date: Fri Oct 7 16:45:25 2022 -0700 lestarch: adding gpio driver and refactoring types commit d9b932cff4a1f58be42565901c6cd953db3e3393 Author: M Starch <[email protected]> Date: Fri Oct 7 13:46:28 2022 -0700 lestarch: refactoring standard components commit cafcad69a53f9fea8c817ddb29dc38a604d3f6ac Author: M Starch <[email protected]> Date: Sat Oct 1 09:33:22 2022 -0700 lestarch: arduino package WIP commit b95919382c4f627f27b2d099f9f37b8f7a28bd7f Author: M Starch <[email protected]> Date: Mon Sep 26 17:53:01 2022 -0700 lestarch: rearranging former Arduino packages commit 72e5a5e6c0d01708aa0801a501e495ad22d1507b Author: M Starch <[email protected]> Date: Mon Sep 26 17:44:35 2022 -0700 lestarch: arduino-cli passes cmake compile checks commit 379c1ff8110fc06a32179ddd914f29a776b39e6e Author: Sterling Peet <[email protected]> Date: Wed Nov 10 16:16:07 2021 -0500 missed slashes commit 99cdf44b8a110f8f3ecbc8c5c5f37c04c5813e2a Author: Sterling Peet <[email protected]> Date: Wed Nov 10 16:14:22 2021 -0500 fix file paths commit 7191510d58ed51e2cddd31c2a53788a7877ca6ea Author: Sterling Peet <[email protected]> Date: Wed Nov 10 16:12:09 2021 -0500 dont print all that commit 04d4288c2847f9fa9c7938edfcd86308ae414d44 Author: Sterling Peet <[email protected]> Date: Wed Nov 10 14:24:09 2021 -0500 Fix missing definitions commit fba21d0319626bd985dfd7b68b1556da2cfe24d6 Author: Sterling Peet <[email protected]> Date: Wed Nov 10 08:55:19 2021 -0500 add init to HardwareRateDriver and fix path to TimerOne library commit f7cc6e19c6687a35527e6f4cd2be0673d9a36dae Author: Sterling Peet <[email protected]> Date: Wed Nov 10 00:49:58 2021 -0500 fix HardwareRateDriver paths commit fc28e79069316afb481138eb6c9eb3366992b341 Author: Sterling Peet <[email protected]> Date: Wed Nov 10 00:08:46 2021 -0500 Update paths in AssertReset commit 29bb59b03ffb8b5c597427e34d823297d1ef20b4 Author: Sterling Peet <[email protected]> Date: Tue Nov 9 23:55:36 2021 -0500 ATmega Types commit 88b334ee22c03cb88f343e721a36c2cba7b5041f Author: Sterling Peet <[email protected]> Date: Tue Nov 9 23:44:07 2021 -0500 cmake generation works, not building yet commit b0f7e63d46c3ce3f6098c82047badb327125de76 Author: Sterling Peet <[email protected]> Date: Tue Nov 9 22:41:18 2021 -0500 Add ATmega folders and components commit 08eefead00fdb7028ab2daa88d17199f0333a357 Author: Sterling Peet <[email protected]> Date: Sun Oct 24 21:49:38 2021 -0400 Add starting point for toolchain and platform files commit b80102df98e466c9c4d30dac6761d0d943e34dd2 Author: Sterling Peet <[email protected]> Date: Sun Oct 24 20:07:52 2021 -0400 add some things to get started merge esp32 merge rpipicow merge spi-driver cleanup and bug fixes Fix bug causing use of -isystem instead of -I ATmega128 support (#3) * ATmega128 builds * Update basic types for ATmega missing dependencies fix ATmega128 TimerOne include (#4) * ATmega128 builds * Update basic types for ATmega missing dependencies * use basic timer instead of TimerOne (ATmega128) add pico Minor renaming and adjustments Minor fixes to hqardware rate driver Adding missing files from previous implementation
1 parent 872c5cf commit 324423b

File tree

303 files changed

+27841
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

303 files changed

+27841
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
build-*
22
.DS_Store
3+
.vscode
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#include <Os/IntervalTimer.hpp>
2+
#include <Fw/Types/Assert.hpp>
3+
#include <time.h>
4+
#include <string.h>
5+
6+
namespace Os {
7+
8+
void IntervalTimer::getRawTime(RawTime& time) {
9+
// TODO: need to set up timekeeping
10+
U32 msec = 0; // millis();
11+
U32 usec = 0; // micros();
12+
13+
time.upper = msec/1000;
14+
time.lower = usec;
15+
}
16+
17+
// Adapted from: http://www.gnu.org/software/libc/manual/html_node/Elapsed-Time.html
18+
// should be t1In - t2In
19+
U32 IntervalTimer::getDiffUsec(const RawTime& t1In, const RawTime& t2In) {
20+
21+
RawTime result = {t1In.upper - t2In.upper,0};
22+
23+
if (t1In.lower < t2In.lower) {
24+
result.upper -= 1; // subtract nsec carry to seconds
25+
result.lower = t1In.lower + (1000000000 - t2In.lower);
26+
} else {
27+
result.lower = t1In.lower - t2In.lower;
28+
}
29+
30+
return result.upper*1000000 + result.lower / 1000;
31+
}
32+
}

ATmega/ATmegaOs/AVR/XMem.hpp

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* XMem.hpp:
3+
*
4+
* This file contains the setup sequence that is needed to enable the
5+
* ATmega XMEM interface. It must be included in the main project
6+
* file to be linked correctly in the final executable.
7+
*
8+
* Created on: March 25, 2020
9+
* Author: Sterling Peet <[email protected]>
10+
*/
11+
12+
#include <avr/io.h>
13+
14+
#ifndef OS_AVR_XMEM_HPP_
15+
#define OS_AVR_XMEM_HPP_
16+
17+
void xmem_init(void) __attribute__ ((naked, used, section(".init3")));
18+
19+
void xmem_init(void)
20+
{
21+
// Set up the XMEM interface
22+
XMCRB = 0; // need all 64K. no pins released
23+
#if defined(__AVR_ATmega128__)
24+
MCUCR = _BV(SRE); // enable xmem, no wait states
25+
#else
26+
XMCRA = _BV(SRE); // enable xmem, no wait states
27+
#endif
28+
29+
// set up the bank selector pins (address lines A16..A18)
30+
// these are on pins 38,42,43 (PD7,PL7,PL6)
31+
#if defined(__AVR_ATmega128__)
32+
DDRD |= (_BV(PD5)|_BV(PD6)|_BV(PD7));
33+
#else
34+
DDRD |= _BV(PD7);
35+
DDRL |= (_BV(PL6)|_BV(PL7));
36+
#endif
37+
38+
// set the bank selector pins (address lines A16..A18)
39+
// to zero only, we aren't doing fancy mem page swapping right now
40+
#if defined(__AVR_ATmega128__)
41+
PORTD &= ~(_BV(PD5)|_BV(PD6)|_BV(PD7));
42+
#else
43+
PORTD &= ~_BV(PD7);
44+
PORTL &= ~(_BV(PL6)|_BV(PL7));
45+
#endif
46+
}
47+
48+
#endif /* OS_AVR_XMEM_HPP_ */
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include <Os/IntervalTimer.hpp>
2+
#include <Fw/Types/Assert.hpp>
3+
#include <time.h>
4+
#include <errno.h>
5+
#include <string.h>
6+
#include <Arduino.h>
7+
8+
namespace Os {
9+
10+
void IntervalTimer::getRawTime(RawTime& time) {
11+
// U32 msec = millis();
12+
U32 usec = micros();
13+
14+
// This feels like a terrible kludge, but all we really
15+
// care about is a difference in microseconds, right?
16+
time.upper = 0; //msec/1000;
17+
time.lower = usec;
18+
}
19+
20+
// Adapted from: https://www.gnu.org/software/libc/manual/html_node/Calculating-Elapsed-Time.html
21+
// should be t1In - t2In
22+
U32 IntervalTimer::getDiffUsec(const RawTime& t1In, const RawTime& t2In) {
23+
24+
RawTime result = {t1In.upper - t2In.upper,0};
25+
26+
if (t1In.lower < t2In.lower) {
27+
result.upper -= 1; // subtract nsec carry to seconds
28+
result.lower = t1In.lower + (1000000 - t2In.lower);
29+
} else {
30+
result.lower = t1In.lower - t2In.lower;
31+
}
32+
33+
return result.upper * 1000000 + result.lower;
34+
}
35+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/**
2+
* LogArduinoStream:
3+
*
4+
* Implementation of Os::Log that defers to Arduino's Stream type. This allows for a hardware based
5+
* stream capture. Note: in order to set the stream, the companion header Os/Arduino/StreamLog.hpp
6+
* should be used.
7+
*
8+
* Created on: Apr 13, 2019
9+
* Author: lestarch
10+
*/
11+
12+
#include <Os/Log.hpp>
13+
#include <ATmega/ATmegaOs/Arduino/StreamLog.hpp>
14+
15+
extern "C" {
16+
#include <stdio.h>
17+
#include <string.h>
18+
}
19+
20+
namespace Os {
21+
Stream* A_STREAM = NULL; // I love it when a plan comes together.
22+
void setArduinoStreamLogHandler(Stream* stream) {
23+
A_STREAM = stream;
24+
}
25+
Log::Log() {
26+
27+
// Register myself as a logger at construction time. If used in unison with LogDefault.cpp, this will
28+
// automatically create this as a default logger.
29+
this->registerLogger(this);
30+
}
31+
/**
32+
* An Arduino Stream implementation of the Os::Log function. Essentially, this log message
33+
* handler formats a message an sends it out to the serial port/Wire port or Arduino stream
34+
* backing the stream object. This allows for a side-channel serial console.
35+
*/
36+
void Log::log(
37+
const char* fmt,
38+
POINTER_CAST a0,
39+
POINTER_CAST a1,
40+
POINTER_CAST a2,
41+
POINTER_CAST a3,
42+
POINTER_CAST a4,
43+
POINTER_CAST a5,
44+
POINTER_CAST a6,
45+
POINTER_CAST a7,
46+
POINTER_CAST a8,
47+
POINTER_CAST a9
48+
) {
49+
char message[128];
50+
// If stream is defined, then write to it.
51+
if (A_STREAM != NULL) {
52+
U32 used = snprintf(message, sizeof(message), fmt, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
53+
used = (used > sizeof(message)) ? sizeof(message) : used;
54+
A_STREAM->write(message, used);
55+
}
56+
}
57+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* StreamLog.hpp:
3+
*
4+
* A file defining the functions used to set and configure the Stream used in the Arduino Log::Os
5+
* handler function.
6+
*
7+
* Created on: Apr 13, 2019
8+
* Author: lestarch
9+
*/
10+
#ifndef OS_ARDUINO_STREAMLOG_HPP_
11+
#define OS_ARDUINO_STREAMLOG_HPP_
12+
#include <Arduino.h>
13+
14+
namespace Os {
15+
/**
16+
* Sets the global A_STREAM arduino stream used to log Arudino messages through a hardware "Steam"
17+
* like UART or I2C.
18+
*/
19+
void setArduinoStreamLogHandler(Stream* stream);
20+
}
21+
#endif /* OS_ARDUINO_STREAMLOG_HPP_ */

ATmega/ATmegaOs/CMakeLists.txt

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
####
2+
# F prime CMakeLists.txt:
3+
#
4+
# SOURCE_FILES: combined list of source and autocoding files
5+
# MOD_DEPS: (optional) module dependencies
6+
#
7+
####
8+
cmake_minimum_required(VERSION 3.13)
9+
cmake_policy(SET CMP0079 NEW)
10+
11+
# Basic module dependencies
12+
set(MOD_DEPS
13+
Fw/Cfg
14+
Fw/Types
15+
Fw/Logger
16+
Utils/Hash
17+
)
18+
# Determine the platform specific source files to append:
19+
20+
string(TOLOWER "${CMAKE_SYSTEM_NAME}" CMAKE_SYSTEM_NAME_LOWER)
21+
22+
# Arduino additions
23+
if (${CMAKE_SYSTEM_NAME_LOWER} STREQUAL "arduino")
24+
set(SOURCE_FILES
25+
# Common implementations
26+
"${FPRIME_FRAMEWORK_PATH}/Os/TaskCommon.cpp"
27+
"${FPRIME_FRAMEWORK_PATH}/Os/TaskString.cpp"
28+
"${FPRIME_FRAMEWORK_PATH}/Os/QueueCommon.cpp"
29+
"${FPRIME_FRAMEWORK_PATH}/Os/QueueString.cpp"
30+
# Baremetal virtualization implementations
31+
"${FPRIME_FRAMEWORK_PATH}/Os/Baremetal/Queue.cpp"
32+
"${FPRIME_FRAMEWORK_PATH}/Os/Baremetal/Task.cpp"
33+
"${FPRIME_FRAMEWORK_PATH}/Os/Baremetal/File.cpp"
34+
"${FPRIME_FRAMEWORK_PATH}/Os/Baremetal/FileSystem.cpp"
35+
"${FPRIME_FRAMEWORK_PATH}/Os/Baremetal/IntervalTimer.cpp"
36+
"${FPRIME_FRAMEWORK_PATH}/Os/Baremetal/Mutex.cpp"
37+
# Non-OS based queue implementations
38+
"${FPRIME_FRAMEWORK_PATH}/Os/Pthreads/BufferQueueCommon.cpp"
39+
"${FPRIME_FRAMEWORK_PATH}/Os/Pthreads/FIFOBufferQueue.cpp"
40+
# From this package: an interval timer and a stream-log timer
41+
"${CMAKE_CURRENT_LIST_DIR}/Arduino/IntervalTimer.cpp"
42+
"${CMAKE_CURRENT_LIST_DIR}/Arduino/StreamLog.cpp"
43+
)
44+
# AVR platform additions
45+
elseif(${CMAKE_SYSTEM_NAME_LOWER} STREQUAL "avr")
46+
set(SOURCE_FILES "${CMAKE_CURRENT_LIST_DIR}/AVR/IntervalTimer.cpp")
47+
endif()
48+
49+
register_fprime_module()
50+
51+
52+
####
53+
# Dependency Melding:
54+
#
55+
# In short, this Os layer depends on the framework's Os layer and vise-versa. Effectively it is one
56+
# library built in two halves, the framework base, and this add on. Here we make the link pointers
57+
# depend on one another forming a (weak) circular dependency. This is allowed in CMake 3.13 and
58+
# newer.
59+
####
60+
if (${CMAKE_SYSTEM_NAME_LOWER} STREQUAL "arduino")
61+
add_dependencies(Os ATmega_ATmegaOs)
62+
target_link_libraries(Os ATmega_ATmegaOs)
63+
target_link_libraries(ATmega_ATmegaOs Os)
64+
endif()
65+
66+
# Add Arduino dependency
67+
if(${CMAKE_SYSTEM_NAME_LOWER} STREQUAL "arduino")
68+
get_module_name(${CMAKE_CURRENT_LIST_DIR})
69+
add_arduino_dependency("${MODULE_NAME}")
70+
endif()
71+
72+
# Add AVR dependency
73+
if(${CMAKE_SYSTEM_NAME_LOWER} STREQUAL "avr")
74+
get_module_name(${CMAKE_CURRENT_LIST_DIR})
75+
add_avr_dependency("${MODULE_NAME}")
76+
endif()
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
#define NAME_MAX 64
3+
#define PATH_MAX 128
4+
5+
extern "C" {
6+
#include <stdint.h>
7+
#include <stdlib.h>
8+
} // extern "C"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#include <stdint.h>
2+
#define NAME_MAX 255
3+
typedef int TaskIdRepr;
4+
#define FPRIME_OVERRIDE_NATIVE_TYPES
5+
typedef int32_t NATIVE_INT_TYPE;
6+
typedef uint32_t NATIVE_UINT_TYPE;

ATmega/ATmegaTypes/cstdarg

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
extern "C" {
2+
#include <stdarg.h>
3+
} // extern "C"

0 commit comments

Comments
 (0)