arduino's People
Forkers
lucciano mporhel ylussaud wadael d-leroy siwiwit algol58 mikeyd0407 pizzafactory crm6360 mohamedelmehdi maruthihr ivanets bouhali hacklock zadahmad esyriani psoursos cry-d microwan nanonan kolovos totemprotocol kiankang80 apure123 arduino-collections lareinahearduino's Issues
Show invalid icons in the toolbar
When the hardware or the sketch are invalid, there icons are in red on the dashboard. It should be the same in the toolbar and the toolbar tooltip should be also updated according to this.
Doc : add steps to add a new component
Hi,
The documentation should help users to add more components to the palette
So far, the list of components needs to be completed.
For exemple, I'd like to add the cheap distance sensor HC-SR04, which can be seen in more and more assemblies.
Looks like plugins/fr.obeo.dsl.arduino.design/images/dfrobot is where the pic must be put
and ardublockKit.arduino is the xml file where an entry must be added.
But how do I specify the components connector ? number and name
Thank you
Improve dashboard icons
The invalid hardware and sketch icons have some glitches. Recreate them from an svg instead of png.
DSL evaluation for arduino - please take a look
Hello, greetings from the software engineering group from Beihang University, China. We have been working on the evaluation of Domain Specific Modeling Languages (DSMLs ), the main purpose is to find out the flaws of the design of the DSML. To test our evaluation framework, we evaluated your software design, mainly based on your ecore and odesign files, and found out that even though the overall quality of your software design is very good, there still exists some minor problems. The details are as follows:
rule-based evaluation
Firstly, we did some rule-based evaluation, mainly focusing on the graphic part.
Evaluation of Semiotic Clarity
We've checked your odesign file according to Goodman's theory of symbols[Goodman N. Languages of Art: An Approach to a Theory of Symbols[M]. Hackett publishing, Indianapolis, 1976.], and there are some minor problems that can decrease the semiotic clarity of your design as follows:
-
overloading
There are some graphic symbols in your design that is assigned to more than one element.
- arduino\plugins\fr.obeo.dsl.arduino.design\icons\Sensor.png is assigned to arduino.ParameterCall/arduino.ParameterDefinition
- arduino\plugins\fr.obeo.dsl.arduino.design\images\delay.svg is assigned to arduino.ParameterCall/arduino.Delay/arduino.ParameterDefinition
- arduino\plugins\fr.obeo.dsl.arduino.design\icons\Status.png is assigned to arduino.ParameterCall/arduino.ParameterDefinition
-
Excess
There are some graphic symbols in your design that does not represent any of the elements of your language.
- arduino\plugins\fr.obeo.dsl.arduino.design\icons\LowerOrEqual.svg
- arduino\plugins\fr.obeo.dsl.arduino.design\images\platform.svg
- arduino\plugins\fr.obeo.dsl.arduino.design\images\dfrobot\dfrduino_uno.jpg
- arduino\plugins\fr.obeo.dsl.arduino.design\images\existing_sketch.png
- arduino\plugins\fr.obeo.dsl.arduino.design\images\upload.svg
-
Deficit
There are some elements in your design that are not represented by any graphic symbols.
Certainly, we know that some elements do not need to be assigned symbols to, but we believe it is best to check whether these elements really do not need symbols or they were just overlooked.
- DigitalPin
- Pin
- AnalogPin
- Utilities
- IO
- Time
Evaluation of Symbol Similarity
We believe that overly similar symbols are not conducive to users' understanding and use of language. Therefore, we use image features such as SSIM to detect the similarity between the symbols you use. Below are some pairs of symbols that may be too similar:
- arduino\plugins\fr.obeo.dsl.arduino.design\icons\UseFunction.png & arduino\plugins\fr.obeo.dsl.arduino.design\icons\Function.png
LLMS-based evaluation
Secondly, we did some LLMS-based evaluation, mainly focusing on the model part. Generally speaking, we try to make LLM act as a domain expert to provide multidimensional evaluations of your language design.
Model Completeness
We give your ecore design to LLM and ask the LLM to guess which domain your language is designed for. And then we ask LLM to add possible missing elements to your language (perhaps not taken into account in the first version of the design, but can be considered for inclusion in future versions). The results are as follows:
These metamodels seem to belong to the field of embedded system programming or microcontroller programming, especially those related to the Arduino programming environment. This is because elements such as "DigitalPin", "AnalogPin", and "Module" are mentioned, which are common concepts in the field of microcontrollers and embedded systems. In addition, "Sketch" is a term used in the Arduino development environment to refer to program code.
In addition to the already listed metamodels, the following elements and their relationships can also be supplemented to help improve the description of this field:
Element:
CommunicationProtocol:
Name;
Version;
WirelessModule:
Frequency;
Range;
Protocol;
DisplayModule:
Resolution;
ColorDepth;
Motor:
Speed;
Type;
SensorType:
Measurement;
Range;
Actor:
Type;
Event:
Trigger;
Action;
Interrupt:
Source;
Priority;
Relationship:
Module (n)<- supports ->CommunicationProtocol (n)
WirelessModule (1)<- communicationProtocol ->CommunicationProtocol (1)
Hardware (1)<- WirelessModules ->WirelessModule (n)
Hardware (1)<- displayModules ->DisplayModule (n)
Hardware (1)<- motors ->Motor (n)
Sensor (1)<- sensorType ->SensorType (1)
Hardware (1)<sensors>Sensor (n)
Hardware (1)<- actors ->Actor (n)
Instruction (1)<- event ->Event (1)
Sketch (1)<- interrupts ->Interrupt (n)
Interrupt (1)<- sensorTrigger ->Sensor (1)
These supplements can more comprehensively cover concepts in the field of embedded systems or microcontroller programming, from communication protocols to various modules (such as wireless modules, display modules, etc.), to event or interrupt based programming patterns, all of which are indispensable elements in this field.
We are not sure if these issues actually constitute a problem, the decision to fix them or not is still up to your team, looing forward to your respond, thanks!
Freeze when opening existing projects
Environment frequently freezes when opening an existing projet. It is not systematic, I didn't find a way to reproduce it.
Automatic connections between sketch elements is painful
Creating a new element on the sketch automatically links it to one of the existing elements ... and deletes an existing link.
The problem is that it rarely corresponds to the links we want to establish. We then have to recreate the right links.
Provide examples with the product
The examples could be available from the product and loaded via the "Open an existing project" button.
Icons issue on mac
On mac the upload icon in the toolbar is too big. Use the 32x32 instead of the 128x128.
Compilation fail, Arduino.h not found
When I upload my sketch, I get this message : "compilation fail : cc1plus : fatal error : Arduino.h : No such file or directory compilation terminated".
Context:
- Linux (up-to-date ArchLinux)
- ArduinoDesigner 1.0
- IDE : arduino-1.6.1 Linux installed in /home/bflorat/prog/arduino-1.6.1 (works as expected, I already uploaded successfully some sketches )
- ArduinoDesigner preferences :
- SDK : /home/bflorat/prog/arduino-1.6.1
- Serial port : /dev/ttyACM0
Thanks
Remove market place client from product
The eclipse market place client is installed in the product which is completely useless.
Improve documentation for adding new part types
This is more of a question really. I am interested in using this with my son, but I have a different Arduino board and different accessories. I started looking at how I could work with these, but I couldn't find anything. Is there any documentation on adding new parts? Is that something that requires editing the model? I'm assuming at the least it may require changes to the code generation part.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.