Skip to Content

TouchShield Slide UI

Posted in

Is there any news about the TouchShield Slide UI? I have read that some people are working on this? Maybe I can contribute in the development of this interface?

Right now the touchshield dev

Right now the touchshield dev has been delayed a bit, but we're making progress on the processing version of the UI, which should run on PDAs as well as Mac/PC/Linux. If you're interested in working on either the touchshield version or the processing version, we'd love to have you!

I just sent out an update last night with most of the core UI capabilities working. We've been having a discussion on google wave - but wave hasn't been serving us well. We've agreed to start moving the talk over to the forum here, and I've been lax in doing so. So, this is a good start =) I'll get the existing code in svn tonight, and start a post on it.

If you'd like to contribute, let me know your sourceforge user name (if you have one), so I can give you access to modify code.

Thanks!

!c

I just ordered my

I just ordered my touchshield. Never used it. Let's see how my development skills fit while using it :-). I really need the display, because I am planning on using the Arduino as my sole controller (if possible).

Is there any change to have a

Is there any change to have a look at the processing code and bring comments to the table. I have been using Google Wave for many projects and would love to be able to bring comments to you guys if you are interested. olihar@googlewave.com

Olihar, I'll be putting the

Olihar,

I'll be putting the code into SVN around lunch (ended up working on it a bit too late last night, and didn't get the last couple fix-up's I wanted in-place before uploading it). I'll invite you to the wave so you can see what we have so far.

!c

fantastic, I look forward

fantastic, I look forward giving my feedback to the project, though I might not be much of a coder in Processing or Arduino I have done few projects with it.

Ok, I've uploaded the code (+

Ok, I've uploaded the code (+ images, and one of the workflow diagrams) into svn here: http://openmoco.svn.sourceforge.net/viewvc/openmoco/OpenMocoInterfaces/G... I'll start a new thread shortly to talk about it.

!c

I had a real good look at the

I had a real good look at the OpenMoco graphical UI. Wow that looks great! I don't know why, but I really feel the urge to implement a (very) similar UI based on the TouchShield. That could even result in a wireless controller based on two Arduinos and two Zigbee Shields.

I am still waiting for my TouchShield (awfully quiet from the Liquidware side). But I turned their website inside out in order to read as much about the device as possible. I also had a play with their IDE (NewSoftSerial is not compiling on this IDE bye the way). The IDE doesn’t look as stable as the original Arduino IDE and it does not install besides the default IDE (they use the same /library/Arduino folder on my MBP). I wanted to share my thoughts with you before I start to put serious time in the TouchShield. What do you think?

  • The TouchShield can be programmed by Processing like code; but it’s not fully compatible with Processing (by far). This means that the ControlP5 library cannot be used. I had a quick look at the ControlP5 code and decided that a port of this library is a bit far fetched. I have not found a way to compile the Processing UI for the TouchShield. It this correct or is there a Firmata like port of Processing available for the TouchShield?
  • The Processing UI is largely based on icon images and some basic UI components. It should be very feasible to implement a similar UI based on these icons on the TouchShield. The TouchShield provides enough API support and 2MB flash memory should be enough to hold the bmp files.
  • A very, very lightweight UI API is needed that can be used to implement the UI on the TouchShield. I think I am able to implement this. I already have sketched out some c++ classes that are not to hard to implement. The UI could be created completely during startup and can exist as a linked list structure in memory. This library can even contain some basic UI components like a text box or a slider.
  • The UI can be developed first. Communication with the engine can be added at a later phase. The communication will be completely based on the serial protocol as used by Slim.

Am I right by assuming that Processing and ControlP5 cannot be used on the TouchShield? Then I think my lightweight UI classes could be used. This post can be deleted when ControlP5 runs on the TouchShield.

Has someone already started development on the TouchShield? I would really like to get in touch. Last question for now: The graphical UI code contains the icons for the clicked/unclicked buttons in one file. I need them in two separate bmp files. Are these available or do I have to cut all the images myself?

We have someone who started

We have someone who started on one version, but I don't know how far he's gotten. I'll encourage him to come post over here. We definitely already have non-sprite images, Threeaxis made those originally, I had him combine them as sprites for the processing version.

Definitely cannot use CP5.

I'm presuming a lot of the work must be repeated in a Touchshield version, just because the completely different languages that processing and touchshield use.

FWIW, I took NewSoftSerial out of the engine directly last night, as it's become quite a nightmare to deal with all of the changes to it, and keep up w/ people's issues compiling with it. Add to that the huge amount of memory it takes... I'll add it back in, if need be, but I'm starting to think it may be better just to use a separate arduino to run the touchshield, that way you can save settings to eeprom, do better timing, etc. w/o all the rest of the cruft.

If need be - we can add it back in as we get closer to having a touchshield UI, but that's been a #1 complaint of people downloading so far.

!c

I am fine with using two

I am fine with using two Arduino's. Call me stupid (I am still learning about the Arduino, but I am fine with C/C++). What is, in your mind, the best way to connect the two Arduino's if you are not using a serial library? How does adding an XBee for a wireless connection sound to you?

Use hardware serial =) RX/TX

Use hardware serial =)

RX/TX (0/1) pins. SoftwareSerial/NewSoftSerial is only needed to use UART on other pins than 0/1. Otherwise, you just use Serial like normal. Obviously, there's a library involved, but faster and less impactful than NewSoftSerial on the engine.

Xbee sounds great, but may be expensive for most =) Sparkfun sells inexpensive transceivers that may get the job done for less.

!c