The Arduino IDE command line predates arduino-builder and was made available when the source pre-processing and compiling was implemented by a Java class (deeply) embedded in the IDE.
The current IDE uses arduino-builder behind the scenes to process and compile the code so if you use arduino-builder you avoid having to load the whole Java IDE. Try it out it ...
Instructions to installing and binding the Arduino CLI can be found at
Once you install the binary, copy the executable into a directory which is in your PATH environment variable (such as /usr/local/bin/).
Note: You may have to rename the binary to arduino-cli.
It's quite possible that this "version 2.1" doesn't support command line processes. I've never heard of an Arduino IDE version 2.1. My understanding is the version you get from apt-get install arduino is something like 2:1.0.5+dfsg2 so maybe you interpreted that as 2.1. That version is based on Arduino IDE 1.0.5, though apparently it has some non-standard ...
You are using $(CPPFLAGS) for *.cpp files but only $(CXXFLAGS) are defined.
This should be obvious from command line (if you enable showing executed commands for make)
using $(CPP) again only $(CXX) is defined
And don't forget Makefile needs tabs for indenting target commands (here you have four spaces, but it might be just replaced by SE)
Finally find the solution =)
You don't have to change the ID vendor or ID product: it is possible to attribute a permanent name with devpath (where the device is plugged)
The only downside of using the devpath is that the devices will always have to stay plugged into the same physical port.
Answer here:PersistentUSBDevices / Alternative filtering via Devpath
If you are using linux, as I guess, you can look at this archwiki page. Even if is a wiki relative to archlinux OS some informations explained are LinuxOS independendent.
For your needs, you can use screen command. Here is an example: remember to substitute the serial port with the one wich arduino is connected (usually /dev/ttyACM* or /dev/ttyUSB*) and to ...
Is there any way to prevent Arduino CLI from closing each time?
I would suggest working the other way around.
Start the Arduino IDE and set external editor in the Preferences (once).
Open the sketch file(s) in the Arduino IDE and VIM.
Edit the sketch file(s) in VIM.
Move to the Arduino IDE and Verify, Upload, Monitor, etc.
Repeat steps 3-4.
You are using 2 SoftwareSerial instances and you're losing bytes when you aren't listening to the other port. Also your inetGSM library uses pins 3 for RX with the SIM900 and in your Arduino sketch, pin 3 is also the Arduino TX pin to the GPS module. Therefore, anything sent by the Arduino over pin 3 is received by both modules. Confusion.
Use the GPS ...
Arduinos have auto-reset circuit to reset the board if new connection is initiated on USB. It is good for convenient upload or to reset for debugging at Serial Monitor open. But it causes troubles if you want to communicate with MCU from computer over USB from command line tools, scripts, python, C++, C#, Java. Always on new connection the board resets.
Both boolean SendCommand() and boolean echoFind() are defined inside loop(), and they shouldn't be; it is not allowed to define functions inside functions.
Take them out of loop() and define them at (move them to) the same level as uint8_t getFingerprintID(), etc.
This is because you are running the Windows App Store version of the IDE.
Windows doesn't like you messing with the insides of App Store programs (I think it scares it...).
Install the real version of the IDE from the Arduino.cc website and it will work.
You probably look at the wrong boards.txt:
# Trinket 5V Configuration
trinket5.name=Adafruit Trinket (ATtiny85 @ 16MHz)
this can be found in the boards.txt in the main directory
in the sub directory
in the same main directory should also be a folder named 1.8.2 (...
There are several different tools for uploading binaries to a Cortex M3. Depending on the board (not chip) configuration, they include (ht: Majenko):
dfu-util through an FT232 adapter
stm32flash through serial
micronucleus through the Micronucleus bootloader
stlink through an STLink programmer
Many Arduino flavors use a board with some kind of USB or ...
Do you refer to this block?
if (Serial.available()>0) <- here
if (mySerial.available()>0) <- here
If so, there is a ; at the end of each command. The commands are just split onto two lines each. It could be written like this:
if (Serial.available()>0) mySerial.write(Serial....
Easiest answer: Use PlatformIO. (Yes this answer is technically an advertisement, but it is the correct solution here.).
Why not the others?
makeEspArduino is dependent on GNU make, hard to make modification to, hard to get support for when something goes wrong
Visual Micro Arduino is Visual Studio extension, thus native to Windows
In the Arduino IDE switch on File>Preferences>Upload erbose and Compile Verbose
When you build you will see all the compiler commands
The verify is often a -v param in the command
You will find the esp8266 platform.txt in a location such as c:\users\[name]\appdata\local\arduino15\packages\esp8266...
The platform.txt contains all the compiler switches, ...
In the Arduino IDE preferences, select external editor. Then you can write/ edit your sketches with any editor you choose. When you click compile or upload on the IDE toolbar, it will load your changes each time you compile.
I've written a new option for Arduino CI/unit testing and put together a decent size writeup about it as an answer to this related question.
I ended up using the Arduino command line instead of arduino-builder, because it worked better cross-platform for me. It assumes a graphical display though, even if you just use the CLI features. In the case of ...
This is starting to drift off topic for this site, but the best solution for making an automated programming utility for the Teensy on Windows, short of writing one yourself, would be to use some kind of UI automation framework to automate the process described in my earlier answer. My favorite one that I have used in the past is AutoIt. It has tools to ...