when you press button1 it sends b1 and that's pretty simple. What you are suggesting would in any case require that you program it to send what you wanted it to send so I don't think being able to program the device to send different things when you pressed the buttons would make it simpler.

Having events like button pressed and button released doesn't work very well with a serial link because you would have to send a command which meant 'button one is now pressed' and then send another command with 'button one is now released' but because of the nature of sending text across a serial link and what with the timing issues of the whole serial setup I can't see that working. In any case that isn't the way I've designed BTInterface.

I want something that is easy and fun to use, in the same spirit as the Arduino

My app is very simple, press buttons, configure screens. You might find that ArduinoCommander has more complex functionality that might be better suited to accurate timing.

BTInterface is the interface, just that, its not supposed to be the brain

Firstly I've added the ability to choose the annoying sound effects that you wish to play on connection and disconnection of the Bluetooth module.You can also choose '0' (zero) to have no sound effects and as these (16) sound effects are the same ones that you get by sending the sfx commands (sfx1 sfx2 sfx16) then this doubles up as a good place to try out the sound effects (press the little speaker icons to play the sounds).

Secondly I have added the ability for the micro controller programmer to determine what string is sent when the user presses a button.This can, like the sound effects, be chosen in the settings (menu - settings) or it can also be done in code if the micro controller sends the string b1send b2send b3send or b4send so for example if when I press b1 I want the string 'activate' to be sent (instead of the string 'b1') then I'd program the b1 button by either doing it in the settings or sending the command over the serial connection:b1send activate

Then each time I press the b1 button it will send that word 'activate' which you can see if you press it a few times then look at the log in the terminal screen.

Please note that I've only done this for the four user buttons at the moment as the game pad buttons are, well, game pad buttons so remain as up, down, left, right & fire

I also did a considerable bit of work on the help system which is like a complete website inside the app

Please let me know what you think and keep the suggestions coming.... and please join my forum no-one's joined my forum yet ... well, only one has ...

Yes you need to configure the controls each time you run BTInterface so you'd probably write small functions/subroutines to do that and then you can further configure the controls on the fly.

When you first connect BTInterface sends the string

btinterface

your sketch would be looking out for that to know that its connected so you might write (pseudo code)

if command = btinterface then call screenconfig1

if command = b1 then someone pressed button1 so call b1Sub

if command = sb with a number between 0 and 100 (slidebutton) then someone has altered the value of the slidebar(I believe I uploaded a sketch on my forum at btinterface.com that shows how to read and deal with this)

screenconfig1screen1 // change to screen1 (the one with the controls)hide some buttonspad hide //hide the gamepad buttonschange some button textwrite some text in a labelset the slidebar to position 50 say Ok the screen is configured now. //use the text to speech engine to speak the words 'Ok the screen is configured now.'sms 0123456789 This is a text from your doohickey just to let you know that screen1 is configured and readysfx10 //play a Bell sound effectvar screenstate = 1