Pages: [1]   Go Down
Author Topic: Arduino Studio 0.1a - 006 Cross Platform (runs on Windows, Mac & Linux)  (Read 3288 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

RELEASED: Arduino Studio 0.1a - 006

A Cross Platform Mono (.NET) Application (runs on Windows, Mac & Linux) that reads and writes to the serial device of your Arduino UNO/MEGA. It behaves much like the serial monitor that comes with the Arduino Software but with a few tweaks ...



For this software to work you must have the Mono-Framework installed on your system. Please visit http://www.mono-project.com and download the mono-framework according to your Platform.

Download Arduino Studio 0.1a - 006 HERE. (Windows 7)

Download Arduino Studio 0.1a - 006 HERE. (MAC OSx >= 10.6)

Download Arduino Studio 0.1a - 006 HERE. (Linux Ubuntu 11.04)

Notes:

+ In OSx and Linux the Arduino UNO/MEGA gets automatically reset upon initial serial connection.
+ In Windows, the Arduino UNO/MEGA doesn't get automatically reset upon initial serial connection.

+ Added AutoScrolling to the TextView (AutoScrolling is Enabled by Default)
+ Added KeyPressEvent CMD+d (Toggle AutoScrolling On/Off)
+ Added KeyPressEvent CMD+e (Show/Hide the CHANGELOG.txt file)
+ Added KeyPressEvent CMD+f (Toggel Set Serial String Terminator or exit the window with "Enter" or "Escape")
+ Added KeyPressEvent CMD+q (Quits the Application)
+ Added KeyPressEvent CMD+s (Saves the entire Textbuffer to a file named ArduinoStudio-{DateTime}.log in your homedirectory)
+ Added KeyPressEvent CMD+w (Toggle WordWrap On/Off)

TODO:

+ iEntryOnActivated -> sends \n , if String Terminator is Empty the \n must be removed ...

CHANGELOG:

- 0.1a 006
+ The Cross Platform Release ...
+ Added support for Windows, Mac & Linux
+ ...

- 0.1a 005
+ Performed Code Cleanup
+ ...

- 0.1a 004
+ New Alpha Icons
+ Added AutoScrolling to the TextView (AutoScrolling is Enabled by Default)
+ Added KeyPressEvent CMD+d (Toggle AutoScrolling On/Off)
+ Added KeyPressEvent CMD+e (Show/Hide the CHANGELOG.txt file)
+ Added KeyPressEvent CMD+f (Toggel Set Serial String Terminator or exit the window with "Enter" or "Escape")
+ Added KeyPressEvent CMD+q (Quits the Application)
+ Added KeyPressEvent CMD+s (Saves the entire Textbuffer to a file named ArduinoStudio-{DateTime}.log in your homedirectory)
+ Added KeyPressEvent CMD+w (Toggle WordWrap On/Off)
+ Added Plist support that stores the SerialPort,BaudRate and String Terminator values
+ Fixed the STOP-button so it no longer exits the application but just stop the thread
+ ...

- 0.1a 003
+ FineTuning UserInterface
+ ...

- 0.1a 002
+ Added UserInterface
+ Added Multi-Threading
+ ...

- 0.1a 001
+ Proof of concept
+ ...
« Last Edit: May 22, 2011, 07:26:32 am by Snotter » Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 216
Posts: 13663
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Good start!
you mean MONO,  as in  .NET application?  => does it compile under win/linux too?
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3243
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I use serial tools for Mac (it's available through the programmer's website) native application in Objective-C.

It does what's expected... although, I'd like to have the ability to change the string terminator like in the Arduino interface. But you can't have everything... smiley-sad
Will you implement that on your version? That would be the push to try it. smiley-wink
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Good start!
you mean MONO,  as in  .NET application?  => does it compile under win/linux too?

Yep MONO , as in .NET.  smiley

I didn't do/take the effort yet to compile and run/test it in windose or linux ...
I'll put it on my todo list ...

I use serial tools for Mac (it's available through the programmer's website) native application in Objective-C.

It does what's expected... although, I'd like to have the ability to change the string terminator like in the Arduino interface. But you can't have everything... smiley-sad
Will you implement that on your version? That would be the push to try it. smiley-wink

I see, well, ... changing the string terminator ... I think I can do that ... >> TODO

Stay Tuned ...

What to expect in the next version ...

+ implemented autoscrolling and a plist that reads and stores the serialport and baudrate upon start and end of the program,
+ added a keypress event to quit on a Mac (CMD+q),
+ added a keypress event to Enable or Disable Autoscrolling (CMD+d),
+ added a keypress event to save the entire buffer of the textview to a logfile for later analysis (CMD+s),
+ ...

Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3243
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Automatic word wrap is another. smiley-wink

If I remember correctly, both the word wrap and send on the Serial Tools software are missing. So the data is sent as I type, instead of when I push "Send" or Enter. Which is where the line terminator (none, Line Feed, Carriage Return, both) comes in handy. smiley
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Automatic word wrap is another. smiley-wink

If I remember correctly, both the word wrap and send on the Serial Tools software are missing. So the data is sent as I type, instead of when I push "Send" or Enter. Which is where the line terminator (none, Line Feed, Carriage Return, both) comes in handy. smiley

I'll put Word Wrap on the TODO.

FYI, the data is not send to the arduino while you're typing in the entry field ...
Only after an "Enter" does the string get send to the arduino device.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

WordWrap ... Done ...
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3243
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Let us know when you reach 1.0 smiley
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Released ArduinoStudio 0.1a - 005

See top post for more information ...
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3243
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

This is way off-topic... but, maybe interesting for some, so here's an idea.

I have noticed from some people that ask me for advice, that they haven't got a clear idea of what a protocol is, and how to implement it. So, an idea for your program (or a completely new one altogether) would be to create a communication protocol to work with Arduino and a program on the computer.

Example:

Arduino is controlling the level of a tank. It has a level sensor, operation mode (manual, auto), and a valve to fill up the tank.
So, while sending this data to the computer is easy, creating a program that takes this data and displays it isn't. So, my idea would be to create a program that would read the data, interpret and display it in the right place. This would be sort of a poor man's SCADA. See what I mean?
If we define the protocol on how to send the data and how to display it on a nice screen with info and create an object to be used in Arduino to send this up to the computer, the entire problem of having some supervision would be fixed for most people using Arduino.

Also, since you're using Mono, porting it to Windows would be simple (or so I think).

Get what I mean? It's a more demanding project, but something that would be quite interesting for most people.
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You're referring to a standard library communication protocol on top of the serial port driver I presume ...
That would be something to consider but I doubt that it would be a one-person's project but more like a team-effort project ...
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3243
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes, it would be a library that would effortlessly put the Arduino and a computer sharing the data and control of a system.

You would define signals in Arduino, say:

B1, B2, R1, R2... (so you'd save space in the comms) and then on the computer side, you'd just create a new box that would correspond to B1, B2, R1, R2...

It's just an idea really, and if it got created, it would be the very first (that I know of) SCADA system for Mac. I don't know if anyone would be interested in developping something like that. Maybe constructing a better definition of what's intended would allow more people to join in. Programming for the Arduino side would be easy... not so easy for the Mac (although if you are using Mono, we could port it to Windows). Wanna give it a try in defining what it should do and post it on the forum to see who would be interested?

But again, it's just an idea, really. :\
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

We would need a blueprint, plan or scheme that defines the signals you're discribing before I get the total picture I think.
But I'm willing to do some efforts to get the idea realised ...
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3243
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'll try to get something written down and post it here. smiley
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Released: Arduino Studio 0.1a - 006

The Cross Platform Release , runs on Windows, MAC & Linux ...
Logged

Pages: [1]   Go Up
Jump to: