Compile and run Arduino programs natively on Linux, MacOS and FreeBSD.
MIT License
Published by bxparks 3 months ago
Published by bxparks almost 2 years ago
*.c
files in libraries and in the application.
-D ARDUINO=100
macro.
ARDUINO >= 100
to check if it'smake run
target which runs the binary generated by make all
.
vim
editor where :make run
will invoke the quickfixfor
loops to invoke make -C {dir} run
insteadvim
editor can parse the output-C
flag, and automatically generate the correct pathPublished by bxparks almost 2 years ago
memcmp_P()
by @dawidchyrzynski inUdp.h
interface supporting both the AVR and ESP8266 variants.configTime()
for ESP8266.Published by bxparks about 2 years ago
Published by bxparks over 2 years ago
EXTRA_CPPFLAGS
, similar to EXTRA_CXXFLAGS
.digitalReadValue(pin, val)
to control the return value ofdigitalRead(pin)
.
pin
parameter must satisfy 0 <= pin < 32
, otherwisedigitalReadValue()
is a no-op.EpoxyDuino.h
at the top level to stop warning messages fromPublished by bxparks over 2 years ago
unixhostduino_main()
to epoxyduino_main()
, and make itenableTerminalEcho()
function to enable terminal echoing.LittleFS
library in ESP32 >=2.0.0.seek()
before a read()
.
seek()
with an explicit offset before each read()
.read()
multiple times sequentiallyseek()
causes significant performanceseek()
offset is identical to the internal cursor,Published by bxparks over 2 years ago
using Print::write
statement in StdioSerial.h
towrite()
methods from the parent Print
Published by bxparks almost 3 years ago
strncasecmp_P()
to pgmspace.h
. Seepull_request
event may be useful. Upgrade GitHub docker image toPublished by bxparks almost 3 years ago
StdioSerial
class, seeStdioSerial::write(uint8_t)
directly to Posix write()
,<stdio.h>
buffer. flush()
is no longer necessary.Print::writeln()
writes \r\n
again by default.
Print::setLineModeNormal()
and Print::setLineModeUnix()
Published by bxparks almost 3 years ago
DEPS
variable containing header files that the *.ino
Print::println()
to print just a \n
\r\n
.
\n
\r\n
instead of \n
.Published by bxparks about 3 years ago
epoxy_argc
and epoxy_argv
as extern global variables whichargc
and argv
parameters passed into the globalmain()
.
examples/CommandLine
which provides a basic command line parsertoString()
to IPAddress
class, activated with EPOXY_CORE_ESP8266
strstr_P()
to pgmspace.h
.Published by bxparks about 3 years ago
EpoxyMockTimerOne
mock library for TimerOne
library.json
to supportSerial
object from unixhostduino_main()
yield()
. Fix bug to allow correct handling of NUL
byte in theEPOXY_CORE
make variable to be the name ofArduino.h
bringsEPOXY_CORE_AVR
(default)EPOXY_CORE_ESP8266
EPOXY_CORE_ESP8266
macro.map()
, makeWord()
functions to WMath.cpp
.Published by bxparks over 3 years ago
libraries/EpoxyMockDigitalWriteFast
, a simple mock library fordigitalWriteFast
(https://github.com/NicksonYap/digitalWriteFast) todigitalWriteFast()
) to compileEpoxyPromAvr
to EpoxyEepromAvr
, and EpoxyPromEsp
toEpoxyEepromEsp
, for consistency and better self-description.EPOXY_CORE
and EPOXY_CORE_PATH
variables to allow alternate./cores/epoxy/
subdirectory.memcpy_P()
and vsnprintf_P()
(Thanks pmp-p@, #28).EXTRA_CXXFLAGS
to allow additional c++ flags to be specified.-Wextra
(in addition to -Wall
) because some Arduino platformsPublished by bxparks over 3 years ago
pulseIn()
, pulseInLong()
,shiftOut()
, shiftIn()
, I2C and SPI pins (SS, MOSI, MISO, SCK, SDA,analogWrite()
, typedefs for boolean
, byte
, word
Published by bxparks over 3 years ago
Published by bxparks over 3 years ago
libraries/EpoxyFS
, an implementation of the ESP8266 FS
file systemdelayMicroSeconds()
, WCharacter.h
, and stub implementations ofIPAddress.h
, SPI.h
, by Erik Tideman (@ramboerik), seelibraries/EpoxyPromEsp
(EEPROM using the API of ESP8266/ESP32).libraries/EpoxyPromAvr
(EEPROM using the API of AVR processors).Published by bxparks almost 4 years ago
UNIX_HOST_DUINO
macro is replaced with EPOXY_DUINO
, and theUnixHostDuino.mk
file is now EpoxyDuino.mk
. The old macro and file arePublished by bxparks almost 4 years ago
#ifdef
around main()
to avoid conflict when compiling otherlibraries/
directory.Stream::readBytes()
and Stream::readString()
virtual, forPublished by bxparks almost 4 years ago
random()
function.Published by bxparks about 4 years ago
#define
for various digital and analog pins: D0
-D19
, A0
-A9
.analogRead()
.Print.printf()
provided by a significant number of Arduino boards