Giter Club home page Giter Club logo

arduino-ide's Introduction

Arduino is an open-source physical computing platform based on a simple I/O board and a development environment that implements the Processing/Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer (e.g. Flash, Processing and MaxMSP). The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free at https://arduino.cc

Github

More info at

Bug reports and technical discussions

  • To report a bug in the software or to request a simple enhancement go to Github Issues

  • More complex requests and technical discussion should go on the Arduino Developers mailing list

  • If you're interested in modifying or extending the Arduino software, we strongly suggest discussing your ideas on the Developers mailing list before starting to work on them. That way you can coordinate with the Arduino Team and others, giving your work a higher chance of being integrated into the official release

Security

If you think you found a vulnerability or other security-related bug in this project, please read our security policy and report the bug to our Security Team ๐Ÿ›ก๏ธ Thank you!

e-mail contact: [email protected]

Installation

Detailed instructions for installation in popular operating systems can be found at:

Contents of this repository

This repository contains just the code for the Arduino IDE itself. Originally, it also contained the AVR and SAM Arduino core and libraries (i.e. the code that is compiled as part of a sketch and runs on the actual Arduino device), but those have been moved into their own repositories. They are still automatically downloaded as part of the build process and included in built releases, though.

The repositories for these extra parts can be found here:

Building and testing

Instructions for building the IDE and running unit tests can be found on the wiki:

Credits

Arduino is an open source project, supported by many.

The Arduino team is composed of Massimo Banzi, David Cuartielles, Tom Igoe and David A. Mellis.

Arduino uses GNU avr-gcc toolchain, GCC ARM Embedded toolchain, avr-libc, avrdude, bossac, openOCD and code from Processing and Wiring.

Icon and about image designed by ToDo

arduino-ide's People

Contributors

coby2023t avatar dankeboy36 avatar davegarthsimpson avatar dependabot[bot] avatar facchinm avatar francescospissu avatar fstasi avatar github-actions[bot] avatar instantmuffin avatar irregularshed avatar jankeromnes avatar jbicker avatar jmarinis avatar kittaakos avatar lukasb1b avatar mastrolinux avatar msujew avatar nbourre avatar nmzaheer avatar per1234 avatar pirropirro avatar r3inbowari avatar sebastian-brzuzek avatar sebromero avatar silvanocerza avatar spoenemann avatar svenefftinge avatar ulemons avatar wh201906 avatar yash-markad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arduino-ide's Issues

Selecting Processor - board at compile time

PlatformIO provides for "properties" or a "config" like file to be used to set various options for the project...
As a minimum, adding this as an "option" would be great if the IDE could use this to override board information and other option at compile time... May want to give a warning when doing so...

Automatic versioning and GitHub integration

I've looked and couldnt see any other references to this so apologies if this duplicates another request.

Will there be automatic versioning? EG everytime you compile or upload code to a board, will it silently save the most recent version of your code allowing you to refer back to it later if you introduce a bug not found until later?

Will there be intergration with GitHub, perhaps upload to repositiory when compiling allowing the option to submit only compiled binary or source or both? This too would be great for versioning.

Project file handling

Hello everyone

I think the View Explorer creates confusion when we have more projects. The IDE on startup always opens the first one.
If I select a project in the list proposed by the "Open" button it opens all the files contained, horizontally as in the Cassic Mode. In very large projects there is confusion.

Can we think of adding a new Project File? It could contain all project files and all folders, libraries, Arduino type and preferences. etc. The IDE should open one project at a time.

Drk

Add a portable mode

Describe the request

Allow the Arduino IDE installation and dependencies (application, preferences, platforms, sketchbook) to be stored under a single folder.

๐Ÿ™‚ The user can put a complete sketch development environment on a portable drive and use it on any available computer.
๐Ÿ™‚ The user can create a complete self-contained project environment with all project dependencies, including the IDE application itself.

Describe the current behavior

The IDE installation and dependencies are stored in multiple separate places on the user's computer:

  • Application folder (e.g., C:\Program Files\Arduino IDE\)
  • Configuration folder (e.g., C:\Users\<username>\.arduinoIDE\)
  • Data folder (e.g., C:\Users\<username>\AppData\Local\Arduino15\)
  • Sketchbook folder (e.g., C:\Users\<username>\Documents\Arduino\)

It is not possible for the user to configure the location of the "configuration folder".

It is possible to configure the location of the "data folder" (via <configuration folder>/arduino-cli.yaml), but doing so is user friendly and the configuration file is under the non-configurable "configuration folder" anyway.

๐Ÿ™ A complete sketch development environment can not be easily moved between computers.
๐Ÿ™ Complete self-contained project environments can't be created.

Arduino IDE version

58aac23

Operating system

All

Operating system version

Any

Additional context

Arduino IDE 1.x has a portable installation capability, which is enabled by creating a folder named portable under the Arduino IDE installation folder. The configuration, boards platforms, and sketchbook are then stored under that folder:

https://docs.arduino.cc/software/ide-v1/tutorials/PortableIDE

Due to system security restrictions, it is not possible for users of the macOS or Microsoft Store packages of Arduino IDE 1.x to use that feature. These deficiencies in the previous system might be considered when designing an equivalent feature for Arduino IDE 2.x

Additional reports

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

SystemVerilog coding/compilation for Vidor 4000

Is your feature request related to a problem? Please describe.
SystemVerilog functionality in the pro version would be a plus for development of FPGA based boards

Describe the solution you'd like
Inclusion of language support and compiler for FPGA solutions. Simulator is better with 3rd party software like f.ex. ModelSim.

Describe alternatives you've considered
Including a CLI compiler to be callable from the IDE, where all necessary scripts etc. included in automatically the same way as MCU sources are included and hidden in MCU Arduino solutions.

Also, as a user, the FPGA brand is not of importance, so if f.ex. Xilinx FPGAs is easier to include than Intel FPGAs, this is the way to go in my opinion

Additional context
I am a university researcher, who is dealing with MCUs, FPGAs and their interconnections on daily basis. I am myself working on MCU-FPGA board(s) to ease up the research, and I know the benefits and draw-backs of using such systems. However, if the programming environments were fused into one, with the easy-to-program approach used in Arduino, this would be beneficial for many interested in learning FPGA programming in my opinion.

Actually, the SystemVerilog programming could be done in a separate environment if this is easier to implement, but including the compiler to automate the synthesis of the digital circuit and the design of the MCU-FPGA interconnection would be enough to make f.ex. the Vidor 4000 or possible future similar boards more versatile, in my opinion.

Change border color of each IDE window with different port selection

Describe the request

Give a unique border color for each Arduino IDE window with a different port selected.

If several Arduino IDE windows have the same port selected, they have same border color.

Same request for Serial Monitor.

Describe the current behavior

When I have several Arduino boards connected by USB cable, it is not easy to choose quickly the Arduino window that is associated with a given board.

Arduino IDE version

d6a4b0f

Operating system

All

Operating system version

Any

Additional context

Related discussion: https://forum.arduino.cc/t/is-it-possible-specific-color-each-instance-of-arduino-ide/461540

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

'byte' not marked

Describe the bug
the app does not color 'byte'

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Arduino Pro IDE'
  2. type 'byte'
  3. See the problem

Screenshots
Annotation 2020-06-27 011416

Desktop (please complete the following information):

  • OS:Win 10

like this one arduino/arduino-pro-ide#150

Viewing multiple code windows

Is the Split command for viewing two different .cpp files available? If so, how do you invoke it? In VSCode, a right click at the top of an open code window has a drop-down with five sub-blocks. The bottom one allows you to open additional code windows. The ProIDE only has the top block for closing code windows, but nothing for opening additional windows.

Allow setting Serial Monitor newline (CR/LF) from sketch

It would be very nice to be able to set Newline, CR/LF, etc for the Serial Monitor from the sketch/.ino file. Often in using others code, something doesn't work as planned and it ended up being the serial monitor being configured wrong for that particular sketch. To be able to select that in the sketch would end the confusion. Thanks!

Function println not matched when using ArduinoCore-samd core

Describe the bug
Using the ArduinoCore-samd println function in Serial is highligthed as "No matching member function for call to 'println'" even if it is shown in code completition and the sketch is built without problems:

No matching member function for call to 'println'

/Users/username/Library/Arduino15/packages/arduino/hardware/samd/1.8.6/cores/arduino/Print.h:78:12:
note: candidate function not viable: no known conversion from 'Uart' to 'Print' for object argument

To Reproduce

  1. Install ArduinoCore-samd.
  2. Create a simple sketch and write a Serial.println("..."); statement
  3. See error

Expected behavior
Call to println be correctly recognized as belonging to Serial.

Screenshots
Screenshot 2020-06-20 at 23 13 13

Desktop:

  • OS: macOS 10.15.5
  • Version: Arduino Pro 0.0.6 (0.0.6.20200409.2)
  • ArduinoCore-samd 1.8.6

Bug with "Peek Declaration" and "Peek Definition" also with "Go To ..."

Describe the bug
There is a bug with "Peek Declaration" and "Peek Definition"
"Peek Declaration" does nothing!
"Peek Definition" shoes the declaration of functions instead of their definition
The same happens with "Go To...

To Reproduce
Steps to reproduce the behavior:

  1. Open Blink example
  2. right click on digitalWrite and select "Peek Declaration" -> noting happens
  3. right click on digitalWrite and select "Peek declaration" -> it shows the declaration in common.h

Expected behavior
It should work like in VSC, in this example

  • "Peek Declaration" should show the declaration of the function in common.h
  • "Peek Definition" should show the definition of the function in wiring_digital.c

Screenshots

  • Peek Definition in Arduino IDE

peek definition Arduino IDE

  • Peek Definition in VSC

peek definition in VSC

Desktop (please complete the following information):

  • macOS Catalina
  • Version 0.0.1

IDE to Issue a Warning when Assignment Is Used Instead of Equality Comparison Operator when It's "Not Supposed to" Be Used

Is your feature request related to a problem? Please describe.
In my experience (and, as I gather, from the experiences of many), I've found that I spend hours trying to debug a script when I had apparently used an assignment operator instead of an equality comparison operatorโ€”with the lack of the extra '=' managing to evade me for a long time.

Describe the solution you'd like
When using an 'if statement' or a 'while loop' or any similar setupโ€”where the assignment operator is apparently not used as widely as part of the conditions for those statementsโ€”the IDE would issue a warning if an assignment operator is used instead of an equality comparison operator.

For example,

if (someVariable = someValue){ }

would result in a warning that says (along the lines of) "are you sure you meant to use an assignment operator here"?

If I'm not mistaken, PyCharm already does this for Python.

Thank you for reading this!

Add application icon for Linux

Describe the request

When I run the Arduino IDE I'd like to see the Arduino logo or a dedicated Arduino IDE logo (if such a Arduino IDE logo exists) in the launcher.

Describe the current behavior

no Arduino logo or something similar is displayed on the launcher when running the Pro IDE. Instead the default "no-logo" launcher symbol is shown:

2019-10-30-Arduino-Pro-IDE-Logo

Arduino IDE version

Original report

0.0.2-alpha

Last verified with

e03e5eb

Operating system

Ubuntu

Operating system version

  • 18.04.3
  • 20.04
  • 22.04

Additional context

Looking through the Arduino IDE directories I also did not find a suitable illustration (maybe I missed it?).

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

Descriptive mouseOver messages

Is your feature request related to a problem? Please describe.
Since the Arduino ecosystem is made to get people with a limited background of programming or electronics into this field, it would be interesting to consider giving a very short description and link to the reference when hovering over the elements.

Right now it shows the bare minimum on information (not the name of the arguments, datatypes in cpp instead of the more readable Arduino way)
image

Describe the solution you'd like

This is a small attempt to make a description that might be understandable by a beginner, that could be included in the header files, with a hyperlink to the reference and a nicer way to describe the function. *int should be boolean

image

Describe alternatives you've considered
It might be that this function is only enabled in the limited version of the interface; the non-advanced version; but if we could make it a standard to have a short description in the header files; it might actually make life easier for the reader of the header files and the beginning user trying to make sense of a piece of code.

Additional context
This screenshot above is just an example of the concept; the text; color coding; could probably be improved.

These look more like the function itself since it is called digitalWrite:

Write a value to a pin

Write a digital value to a pin

These don't look like the function itself, which could be confusing or enlighting (having different words to describe the same) and the order of the words matches the function's arguments:

Give a pin a digital value

Give a physical pin a digital value

Workspaces, Folders, Sketches...

Taking some time during vacations for getting used to Arduino Pro IDE V0.0.2 (0.0.2.20191025.13).

Third time trying, but I guess I haven't understood the roles of Workspaces and Folders in relation to Sketches.

Starting Arduino Pro IDE, I haven't already found out how to begin a sketch and give it the name I'd like to. I always have to save it named like the date I've started it. Indeed I've just managed to name the Workspade ("Save Workspace as ..."). Nevertheless, the sketch inside it is also named like the current date. The only solution I found to have a Sketch named as I desire is to prior creating it in Arduino IDE (that one for mortal people) and saving it, so that I can further open it in Arduino Pro IDE.

Moreover, why "New Folder" and "Add Folder to Workspace..."? What are these resources designed for?

So, what's the relationship between Workspaces, Folders and Sketches? Is there any tutorial about it?

#_requires_developers'_further_instructions

Git integration inside the IDE (commit only)

I would like to ask for a small feature request: it would be awesome to have small support for Git inside the Arduino IDE.

I understand GIT is really feature-rich and making the IDE fully compliant will be a full project on its own... but having a simple "Commit changes to this file" option in the File menu (with a key shortcut) if the file belongs to a git repo would be AWESOME already. It does not need to do much: just check that git is installed, check if the opened file is part of an existing local repository, and give the user a dialog with a 1-line commit message and OK/Cancel buttons if you click on it (or push the right key combination).

I think this will cover 90% of the use cases with Git, that is already a must for any-sized development projects. Having to do 'git commit -m blabla filename' on a separate console is quite some burden that makes you(me) not use it at the end.

Thanks for a great IDE!

Enable "Compiler warnings" preference by default

Describe the request

Enable compiler warnings by default by changing the default value of the "Compiler warnings" preference.

๐Ÿ™‚ Important information about potential problems in Arduino code will be visible to more Arduino IDE users.
๐Ÿ™‚ Developers of shared Arduino projects will be encouraged to write warning-free code

Describe the current behavior

The default value of the "Compiler warnings" preference is "None"

๐Ÿ™ Users might suffer from bugs that are difficult to troubleshoot without assistance from the compiler.
๐Ÿ™ Developers of shared Arduino projects are not aware that their code produces warnings and so don't fix them. These warnings then make it more difficult for users of dependent projects who do enable warnings to differentiate the warnings in their own code from the warnings from the dependencies.

Arduino IDE version

Original report

1.6.6

Last verified with

73b6dc4

Operating system

All

Operating system version

Any

Additional context

Defaulting to not showing warnings is, overall, a bad thing for the ecosystem. Advanced users will have a hard time taking it seriously, when instead of owning the errors, the IDE sweeps them under the rug.

Additional requests

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

Outline contents disappear after writing code

In Outline I've already seen that the loop function and the void function appear, but now it's buggy, when I start it, it's there, when I write something it disappears, I don't know how far this idea of โ€‹โ€‹putting the function tree goes, but I already implemented, it would be cool if all the functions really were there, voids / if / while and etc., the functions that close the code, and that there was a description after it depending on the comment that is in the code. And that it is possible to minimize trees by functions, etc. Furthermore, it is possible to minimize them in code, for example, I don't want to see the setup function now, minimize it, and that's it.

image

So for example, in the tree, this code below would look like this:

void setup
void test (Description 1)
-------if (If test)
void test2 (Description 2)
-------if (test2)
void loop

Make Boards/Library Manager more helpful regarding version numbers

Describe the request

Pre-release update notifications

By default, don't provide update notifications for pre-release versions when the user has a stable release version installed.

An option should be provided to enable these notifications. This should be accessible only via the advanced settings, since pre-releases are intended for advanced users.

Select stable version by default

The version menu in the "Library Manager" and "Boards Manager" views should default to having the newest non-pre-release version selected, if any are available.

Communicate implications of significant version installation or updates

When the user does an installation of an unstable version, display a confirmation dialog that explains the implications:

Warning: The library version 1.2.3-rc1 you have chosen to install indicates a pre-release version, which is intended only for beta testing.

Warning: The library version 0.1.2 you have chosen to install indicates the library is still undergoing initial development.

When the user does an update resulting in a major version bump, display a confirmation dialog that explains the implications:

Warning: The library version 2.0.0 you have chosen to update to is a major version increment from the previously installed version. This indicates there have been breaking changes to the API.

Describe the current behavior

The most efficient and user friendly way for an Arduino library or boards platform maintainer to distribute their project to users is via the Arduino Library Manager and Boards Manager systems.

This system might be used for distribution at any phase of the project development. These phases are communicated in a machine readable format via the version number, according to semver:

Arduino IDE offers installation or updates of these libraries and boards platforms to the user in two ways:

  • The "Library Manager" and "Boards Manager" views.
  • Update notifications shown on startup (#1361)

Arduino IDE does not make any distinction between the development phases indicated by the library and platform release version numbers. The highest version is always offered for installation and update by default.

๐Ÿ™ Users are prompted to install versions that are unstable or cause breaking changes.
๐Ÿ™ Maintainers are unable to take advantage of the system for distributing their project to beta testers.

Arduino IDE version

2.0.0

Operating system

All

Operating system version

Any

Additional context

Related

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

Help Forum...

I enjoy the new implementation of the Arduino Pro IDE, and it meets of the desires I had subconsciously, and did not know I was missing.
Is your feature request related to a problem? Please describe.
After opening the app and getting over the initial excitement of the vscode implementation, I quickly got really confused as to where to go to ensure my libraries (especially custom ones) were installed. This has always been a powerful feature of the IDE (and why I currently do not use vscode for my arduino projects).

Describe the solution you'd like
Because I think it is way too early for any documentation, it would be great if there were an online portal where people can discuss difficulties they are having with migration. I realize may be too much of a NOOB to be expecting much out of Alpha software, but the entire interface has been revamped and as such, many Arduino IDE conventions are missing, or have been moved. Without knowing the expectation, it is difficult to know which (missing or moved) is true. This is true even with the classic view of the IDE.

Describe alternatives you've considered
I have (and will continue) to poke around in the IDE to look for solutions. The immediate need for me is to understand where the workspace and libraries folders are.

Additional context
On Windows (I am on WIn10), the installer is a portable .exe and folder. Upon opening it, it opens my last used .ino, but there are errors (including the error, sketch (linting? I forget the actual language used) may not be accurate, because the Arduino Uno library is not installed). Yet, when I look to install it, it looks like it is installed. I do not know if this is a bug, or operator error because the interface looks so different (in a good way), I cannot tell how I was supposed to set up the environment (which I probably did not do correctly). I am fully aware that with new software the docs are frequently the last things written, but some help would be nice.

Thank you for creating the hardware and software. This is an amazing device, and the upgraded IDE is incredible already. As a side note, the inclusion of the source control module is superb.

Add "Generate Color Theme from Current Setting" command

How to get started

I downloaded the package for linux, there's a shared library file arduino-pro-ide. Then what? There is no readme file
listing what pre-requisites are required, or INSTALL.txt of how to install. So I just learned something about Theia, sure
so it seems I need to catchup with some stuff, but how far down the rabbit hole must one go to figure out how to try this
out. Is it too much to ask for whoever to describe the steps to get going. Oh i've read the github head page, a few times,
its still not helping.

Is your feature request related to a problem? Please describe.
A It is a problem when there are no clear instructions for some new tech that is happening, very frustrating.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

'Copy to Clipboard'-button in Serial Monitor

I would really (really!) like to have a Button below in the Serial Monitor window 'Copy to Clipboard'. When having like 10.000 lines of continuous output it is nice look for specific moments of the run time, to see what my sketch did, measured, or decided. I really do not understand how this can be version 1.8.4 and not having such a Windows 1.0 function to be honest. Piece of cake to implement, loads of rewards. I understand that this works perfectly on a Mac. It does not work on my Windows 7 64 bit-system.
Using Ctrl-A, Ctrl-C does only give me a small fraction of the total output. With a running system producing output continously a button would make it easier to do that same operation.

custom boards definitions from hardware folder in sketches folder are not handled correctly

custom boards definitions from hardware folder in sketches folder are not handled correctly.

  • The Boards Manager shows them as boards package an offers INSTALL.
  • the custom boards can't be selected in Select Board

Steps to reproduce the behavior:
As an example of custom hardware definitions you can download my_boards. The repository also contains README with informations and links about Arduino custom board definitions.

I am on Linux with pro IDE 0.0.3

Add option to Disable to Hardware Acceleration

Is your feature request related to a problem? Please describe.
I'm trying to capture Arduino Pro IDE window on OBS https://obsproject.com. But cannot capture to Arduino Pro IDE window.

arduino-pro-ide-cannot-capture-on-message-resized

This issue reproduced on Windows 10.

Describe the solution you'd like
Some Electron application have option parameter "Disable to Hardware Acceleration". This option checked then can capture window (Ex: Slack, Discord)

I think add option to Disable to Hardware Acceleration.

Describe alternatives you've considered

It works when I tried either:

  • Windows Compatibility Mode sets to Windows 7.
  • Create a shortcut, add --disable-gpu to Target.

Additional context
based on: electron/electron#16955

Serial monitor character encoding option

Describe the request

It would be great if in the serial monitor had an option to change the encoding used.

In my case, my sketches are using UTF-8, so print messages use that encoding. By default, serial monitor is using ISO-8859 (probably the default one of Windows 7), so those print messages are not shown properly:

serial-monitor-encoding-problems

Additional context

I've found other issues talking about this problem. Instead of detecting the encoding used, it might be easier if the user could select the charset he wants to use. The option (a selectable list with the most used character sets) may be put in the bottom right corner, left of the two existing selects (baud rate and line feed).


Additional requests:

Missing "Close Folder" option

Is your feature request related to a problem? Please describe.
Can not find the way to quick change from one project to another one.

Describe the solution you'd like
Adding a "Close Folder" option should be great.

Windows 10
Alpha 0.0.3

Sketch export with all libraries (also board versions)

Is your feature request related to a problem? Please describe.
When I work with different sketches on different computers, I want to be able to save the whole project, with all the essential data to be able to compile the sketch on another computer.

Describe the solution you'd like
An easy way to save all included libraries and board with the sketch. Like a project. To be able to open and compile it on another computer.
There already is an export function, but this only includes the ino file, but this needs to be extended.

Collapse all side panels also collapses bottom panel

Describe the bug
When bottom panel is visible, selecting Collapse Side Panels in View menu (or using keyboard shortcut) closes bottom panel

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'View'
  2. Click on 'Toggle Bottom Panel' if it is not already visible
  3. Go to 'View'
  4. Click on 'Collapse All Side Panels'
    5 Bottom Panel closes

Expected behavior
Would expect bottom panel to not change as it is doesn't seem to be a side panel. Either change menu entry to 'Collapse All Panels' (if it does collapse all possible panels), or change behaviour to not change Bottom Panel

Desktop (please complete the following information):

  • OS: Mac High Sierra - Version: 10.13.6
  • Arduino Pro version: 0.0.1

v0.0.2-alpha.preview - esptool rejects file path

arduino-pro-ide-esptool-path-error

When trying to flash an ESP32 board, the esptool fails with the message that it couldn't find the .bin file.
With classic IDE it works, so I guess the pro IDE passes the path to the epstool in an other format. Maybe the mix of double backslashes and slashes is the problem?

  • OS: Win10
  • Version 0.0.2-alpha.preview

Changing font in Serial Monitor view

Describe the request

Allow the font used in the "Serial Monitor" view to be customized

Describe the current behavior

Although the font used in the editor font can be configured in the advanced settings, the same is not true for the font used in the "Serial Monitor" view.

๐Ÿ™ Users are not able to configure Serial Monitor to meet their individual requirements and preferences.

Arduino IDE version

2.0.0-snapshot-8783952

Operating system

Windows

Operating system version

10

Additional context

Also requested at:

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

Problem with WiFiNINA.h

Describe the bug
problem with WiFi-Status constant.
see screenshot: arduino-pro-ide 0.0.5
image

But in Arduion 1.8.12 it is working fine
image

Desktop (please complete the following information):

  • OS: [macOS]
  • Version [10.15.3]

Will Python be supported?

When will Arduino Pro IDE support multiple languages other than C++?
Will Python be one of them?

Everyone loves Arduino because of its easy to use features but if it supports programming languages like Python, people would be mad after it.

Virtual ports are not shown in menus

Describe the bug
i can't see my all ports (virtual) even when i checked "show all ports"

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Select Other Board & Ports'
  2. tick the 'show all ports'
  3. See error

Screenshots
If applicable, add screenshots to help explain your problem.
Modern Arduino IDE
image
classic arduino IDE:
image

Desktop (please complete the following information):

  • OS: [Win 10 enterprise]

Add board reset button to Serial Monitor

Describe the request

Add a button to Serial Monitor that resets the connected board.

Sometimes hardware Reset button unavailable (Arduino via RDP for example) so we need the ability to reset without reflashing the board.

Arduino IDE version

d6a4b0f

Operating system

All

Operating system version

Any

Additional context

Additional requests:

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

Disabling unused boards in the IDE

Describe the request

I would like to be able to tidy up the Arduino IDE by removing all the boards that I actually don't own/use.

Describe the current behavior

All the boards of the installed platforms are listed.

Arduino IDE version

Original report

1.8.2

Last verified with

2f2b19f

Operating system

All

Operating system version

Any

Additional context

Additional requests

Related

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

Boards manager: wrong description shown

Say you have a core with 3 versions: version 1 supports board A, version 2 supports board A and B, version 3 supports boards A, B and C. You have installed version 3. You open boards manager and it lists boards A and B from version 2. You select version 1 from the dropdown: you'll keep on seeing boards A and B.

Sync boards/lib manager so that they show the data from the selected version, not just from the latest

Not working on Kubuntu 19.04 (go offline)

Describe the bug
After opening an IDE, it soon appears as OffLine in the status bar
After that, no menu works. Nor the Open

Screenshots
If applicable, add screenshots to help explain your problem.
image

Desktop (please complete the following information):

  • OS: Kubtunu 19.04
  • Version v0.0.6-alpha.preview

Additional context
Console error

root INFO Changed application state from 'initialized_layout' to 'ready'.
daemon INFO current best: arduino:[email protected] [bundle: false, managed: true, version: 1.8.2]
daemon INFO current best: arduino:[email protected] [bundle: false, managed: true, version: 1.6.11]
daemon INFO current best: digistump:[email protected] [bundle: false, managed: true, version: 1.6.7]
daemon INFO current best: esp8266:[email protected] [bundle: false, managed: true, version: 2.4.1]
daemon INFO current best: Cosa:[email protected] [bundle: false, managed: true, version: 1.2.0]
daemon INFO current best: esp32:[email protected] [bundle: false, managed: true, version: 1.0.4]
daemon INFO current best: Cosa:[email protected] [bundle: false, managed: true, version: 1.2.0]
daemon INFO current best: esp32:[email protected] [bundle: false, managed: true, version: 1.0.4]
daemon INFO current best: arduino:[email protected] [bundle: false, managed: true, version: 1.8.2]
daemon INFO current best: arduino:[email protected] [bundle: false, managed: true, version: 1.6.11]
daemon INFO current best: digistump:[email protected] [bundle: false, managed: true, version: 1.6.7]
daemon INFO current best: esp8266:[email protected] [bundle: false, managed: true, version: 2.4.1]
root INFO Index has been updated.
daemon INFO panic: runtime error: invalid memory address or nil pointer dereference
daemon INFO [signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x7b926c]
daemon INFO goroutine 15 [running]:
daemon INFO go.bug.st/relaxed-semver.(*Version).CompareTo(0xc0020e2630, 0x0, 0xc00149e8c0)
daemon INFO     /github/home/go/pkg/mod/go.bug.st/[email protected]/version.go:115 +0x3c
daemon INFO go.bug.st/relaxed-semver.(*Version).GreaterThan(...)
daemon INFO     /github/home/go/pkg/mod/go.bug.st/[email protected]/version.go:202
daemon INFO github.com/arduino/arduino-cli/arduino/libraries/librariesindex.(*Index).FindLibraryUpdate(0xc00000e008, 0xc000488360, 0x0)
daemon INFO     /__w/arduino-cli/arduino-cli/arduino/libraries/librariesindex/index.go:121 +0x88
daemon INFO github.com/arduino/arduino-cli/commands/lib.listLibraries(0xc002e80340, 0xc000170000, 0x1, 0xc0000b2178, 0x1)
daemon INFO     /__w/arduino-cli/arduino-cli/commands/lib/list.go:65 +0xe8
daemon INFO github.com/arduino/arduino-cli/commands/lib.LibraryList(0xe0f800, 0xc001d94480, 0xc001d944b0, 0xcc4700, 0xc0004f8300, 0xe1dd40)
daemon INFO     /__w/arduino-cli/arduino-cli/commands/lib/list.go:38 +0xb5
daemon INFO github.com/arduino/arduino-cli/commands/daemon.(*ArduinoCoreServerImpl).LibraryList(0xc0001b0f60, 0xe0f800, 0xc001d94480, 0xc001d944b0, 0xc0001b0f60, 0xc001d94480, 0xc00009fb30)
daemon INFO     /__w/arduino-cli/arduino-cli/commands/daemon/daemon.go:288 +0x3f
daemon INFO github.com/arduino/arduino-cli/rpc/commands._ArduinoCore_LibraryList_Handler(0xcc4700, 0xc0001b0f60, 0xe0f800, 0xc001d94480, 0xc0004f8300, 0x0, 0xe0f800, 0xc001d94480, 0xc000617240, 0x4)
daemon INFO     /__w/arduino-cli/arduino-cli/rpc/commands/commands.pb.go:1799 +0x217
daemon INFO google.golang.org/grpc.(*Server).processUnaryRPC(0xc0000ae900, 0xe17e40, 0xc000001800, 0xc00112fe00, 0xc0001b3e90, 0x135ea90, 0x0, 0x0, 0x0)
daemon INFO     /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1024 +0x4f4
daemon INFO google.golang.org/grpc.(*Server).handleStream(0xc0000ae900, 0xe17e40, 0xc000001800, 0xc00112fe00, 0x0)
daemon INFO     /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1313 +0xd97
daemon INFO google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc000036100, 0xc0000ae900, 0xe17e40, 0xc000001800, 0xc00112fe00)
daemon INFO     /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:722 +0xbb
daemon INFO created by google.golang.org/grpc.(*Server).serveStreams.func1
daemon INFO     /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:720 +0xa1

Clear Serial Monitor output field on receipt of control character

Currently the serial monitor just displays incremental content (with / wo scrolling).
There is no way to clear the screen from the arduino output in order to get a static screen.
There has been some requirements in the past to include ANSI functionality, but the discussion always stalled...
May I suggest to keep it simple and stupid? Please just provide a simple clear screen byte
(e.g. Serial.write (12); // ASCII Form Feed to clear the screen).
That simple improvement could make static screens and menues doable on the serial monitor.

n.b. IMHO using an external ANSI terminal is not in the philosopy of the Arduino IDE.
That is already something for freaks, needs external software, and the need to release the serial connection upon compiling is a pain.

Additional context

Additional requests

Related

Add HEX mode to Serial Monitor

Describe the request

Add a mode to Serial Monitor for printing hexadecimal data.

Describe the current behavior

Serial Monitor does not support interpreting data as hexadecimal.

Arduino IDE version

d6a4b0f

Operating system

All

Operating system version

Any

Additional context

Related:

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

Alpha 0.1.1 Debugging: breakpoints on local libraries are not considered

Describe the bug

Breakpoints defined on local libraries are not considered.

To Reproduce

Very basic example with 3 files: Blink.ino, LocalLibrary.h, LocalLibrary.cpp
Two breakpoints defined: one in Blink.ino, another in LocalLibrary.cpp

Expected behavior

Breakpoints defined on local library LocalLibrary.cpp should be considered.

Actually, all the files are duplicated under a temporary folder, /private/var/folders/wn/n7qqb8ss0k3bvpqwfcdwp_7r0000gn/T/arduino-sketch-7CD787D3756B222A4A3572C34ED19F79/sketch/

The breakpoint on Blink.ino is kept, but not the breakpoint on LocalLibrary.cpp.

Workaround

Launch the debugging session.
Define the breakpoint on the local library again.

Screenshots

  • Initial project folder during editing

Capture 2020-02-28 ร  15 02 53

  • Initial project folder during debugging

Capture 2020-02-28 ร  14 51 28

  • Copy to temporary folder during debugging

Capture 2020-02-28 ร  14 50 21

Desktop (please complete the following information):

  • macOS 10.15
  • Arduino Pro IDE 0.0.5
  • SAMD core 1.8.5

Code

  • Blink.ino
#include "LocalLibrary.h"
uint8_t myLED;

void setup()
{
    Serial.begin(9600);
    delay(500);
    Serial.println(__FILE__);

    myLED = LED_BUILTIN;

    pinMode(myLED, OUTPUT);
}

void loop()
{
    Serial.println(millis());

    blinkLED(myLED, 3, 333);
    delay(1000);
}
  • LocalLibrary.h
#include "Arduino.h"

#ifndef blink_LocalLibrary_h
#define blink_LocalLibrary_h

///
/// @brief      Blink a LED
/// @details	LED attached to pin is turned on then off
/// @note       Total cycle duration = ms
/// @param      pin pin to which the LED is attached
/// @param      times number of times
/// @param      ms cycle duration in ms
/// @param		level level for HIGH, default=true=positive logic, false=negative logic
///
void blinkLED(uint8_t pin, uint8_t times, uint16_t ms, bool level = true);
// !!! Help: https://bit.ly/2Bwmyk6

#endif // blink_LocalLibrary_h
  • LocalLibrary.cpp
#include "LocalLibrary.h"

// Code
void blinkLED(uint8_t pin, uint8_t times, uint16_t ms, bool level)
{
    for (uint8_t i = 0; i < times; i++)
    {
        digitalWrite(pin, level ? HIGH : LOW);
        delay(ms >> 1);
        digitalWrite(pin, level ? LOW : HIGH);
        delay(ms >> 1);
    }
}

Please follow the freedesktop base dir specs

Network port support

I'm not sure if it is a bug or if it is just not implemented yet, but it seems I cannot select any network ports. It would be great if this was supported since I regularly update some of my devices OTA.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.