so this is a call to anyone who thinks they can find a way to program the prop via bluetooth. i plan on looking into this but im not the sharpest guy for this kind of thing yet. im thinking building a seperate circuit to pull reset via an unused bluetooth com line is the answer.. my bluetooth has a ton more uarts and a spi interface though. i think with 2 5 dollar ones this may work.
It can be done, the module just needs to have DTR or RTS available for making a reliable reset circuit with a cap/resistor/transistor.
Perhaps you missed that last paragraph I edited onto my post above. I worked through some of the QtQuick tutorials and ended up with a little experimental program running on my Samsung Galaxy phone. It just shows some animated dials that move when you tweak a slider widget.
At the time I was having a hard time getting into the declarative approach and Javascript but having spent a long while getting into Javascript recently maybe I should revisit QtQuick.
As text editor it is possible to use Jota. Have not really put to much effort into getting download working. I did try to get PZST working (via necessitas), but I never got that working.
Also it is possible to compile the opensource spin compiler mention before with the android NDK, I got it compiled, just never tried it out on my tablet. Will give it a go tonight.
As text editor it is possible to use Jota. Have not really put to much effort into getting download working. I did try to get PZST working (via necessitas), but I never got that working.
Also it is possible to compile the opensource spin compiler mention before with the android NDK, I got it compiled, just never tried it out on my tablet. Will give it a go tonight.
Hey, in your post you referenced mention a plan to implement a prop downloader and other things that sound great...did those get created?
Hey, in your post you referenced mention a plan to implement a prop downloader and other things that sound great...did those get created?
No have not done anyhting about (I recently moved to a new place/position and as a result have gotten less free time). You might want to look at these thread for inspirations:
Regarding running the Open source spin compiler. I've got to do more homework as it seems I have not properly complied it (More reading to do on how to compile native android applications)
Moving from c# to android is presenting itself to be a challenge for me. The concepts are not completely new, but the way things works is. For instance you can only inherit one super class and so forth. I have a whole library of ebooks and I am basically in school mode right now. What I really need is any information on writing a compiler. It does not seem reasonable to me to assume that Brad is the only one capable of writing this compiler. I would gladly yield the honor of a Android Spin Tool to him, but seeing how one does not seem forthcoming and my desire to never use a computer again, I am forced to attempt this on my own. Basically I am learning how to write android apps by seeing it from the application perpective and these concepts will take time to master. I've done some preliminary reading on the usb methods that android provides and I believe this project can be a success. I had hoped to have a working IDE in place by now, but my quickstart board arrived and I am still grasping at basic concepts. Ultimately I want to be able to program the eeprom in-circuit, but if neccessary I can always use the sphinx method with a telnet interface. All my electronics have been shipped out of state, which is why I bought the quickstart board.
Regarding running the Open source spin compiler. I've got to do more homework as it seems I have not properly complied it (More reading to do on how to compile native android applications)
Ha, got it working .
STeps to get it to compile:
1) Download the latest NDK
2) Create a standalone version of the toolchain (how-to in docs)
3) Download the latest version (r33) of the compiler
4) Copy the attached makefiles
5) Make sure that your PATH includes the folder of the generated toolchain
5) And compile.
I've disabled RTTI and exceptions to get it to compile and work. I'm not sure if that is the right way, but it is working sofar. Need to make the changes in the Makefiles such that they can be applied to the base without effecting native compile (now it is either or).
The attached spin compiler is compiled with API level 14 and most likely only works on devices with HC or ICS (3.x or 4.x) installed.
[Update] Added Dave Hein's spinsim to android spin compiler zip file. And guess what it is all working . Now to get download to a prop working
Ok so heres what i know about the bluetooth stuff (just about nothing). The chinese ebay adapters were all using are csr17 chips which is also tied to hc05 as a chipset number. I did a search found csrs site i couldnt really find any info on the chips themselves, so I emailed the Ca customer service address telling them i was intrested in buying there chips chips to make a product and any info they could give me would be appreciated, that was over a week ago and still no reply. The bluetooth adapter I had was csr16 it was made by a company called azio this is a picture of the board http://db.tt/mxVart0H unfourtantely when trying to get wires on the pads some broke off... but im assuming the newer csr17 should have all the features of this chip. Im willing to send this board to anyone who can somehow fix it up and utilize it to try and figure out the ebay chips. i would think anyone with some smt skills and a loyic analyzer or bus pirate should be able to do this. ill probably post a thread to see if anyones up to it later. So basically is all ram jist going to be dog slow with the prop? what if we were to use a prop and all of its pins and cogs as a dedicated controller for dram chips. is your dram software spin or asm? is it possible to hook up multiple srams on the same set of io pins? i browsed your sram socket thread but didnt really understand what it was, is it a whole prop board onn a dip sized board? ive just been busy with life ill definately look into it more later.
Have to do all this work around the house in order to move, so i'm just now getting back to this. First step I quess is just to see if the tablet unrooted will connect with the device. To this end i plugged it into a computer and grabbed some product id and vendor id's and stuff. On the quickstart board i'm getting vid=0403 and pid=6001 and mfg=ftdi and serial=A100S8DH.
What I need to know from anybody that is willing to post is this information from any boards you have laying around.
I would like this information for the Demo Board, the C3 board, a propeller attached to a propclip, and possibly a gadgetkit and hydra.
My first step before even bothering with an IDE is to get the tablet connected to the prop and have it report the version number of the prop. So i'm going to have to figure out what bytes to send it and the handshaking , etc.
Android applications automatically have the ability to be passed the system information, like a usb eject and insert. But you have to write a intent filter and ask the user for permission to use the USB device. I want to see if I can manage to write a program that will "toast" a message when a propeller chip is plugged in and display the version number of the prop.(aka Version 1). A toast in android is just like a box that comes up and goes away automatically. If I can manage to connect and query and recieve back from the prop , there is no reason why a program could not be sent. I know that sending a byte or two and receiving a byte or two will not reasonably guage the latency during longer transfers, but it is a starting point. So my main vision is to write the program and even if you don't explicitly run the "app". it will "toast" the prop version. I don't know enough yet to know how android does this. In the background processes not all applications are even listed, but yet there are applications(like textplus for sms to cell) that aren't running but still "wake-up" when a event they care about occurs. In theory I could have it run the app as soon as it detects a prop is connected. But lots will have to be done even if I accomplish this "easy" task. Still don't know how to write the compiler. Assuming every instruction is a 32-bit long, it shouldn't be impossible to convert the spin code.
i've been messing with UsbEndpoints and all kinds of mess. Program constantly crashes when sending data out. I think I found why. On the ftdi page for android it points out that some Android usb host capable devices enumerate the usb ports with application incompatible permissions(aka 0660 chmod) and rooting it is the unofficial recommendation. I basically assumed that if I got a usb connection to the interface(0) and send data out on the endpoints with "Propeller?" it would respond with "Present!", but instead there are constant crashes. I can enumerate the bus and get all the info to the android application, but the crash is probably related to the permissions for the device pipe itself. If I wanted to root my tablet I could simply use generic java IO and access /dev/ttyUSB0 or whatever it ended up being for the quickstart board. This would be prefered because you could write BASIC style COM statements instead of using bulkTransfer() on the UsbConnection class. Android kind of makes programming simplier, by not listing HID(keyboard,mouse) devices under the usb subsystem. And the USB port only works with one device at a time. So if it comes down to rooting the device, why not just install ubuntu on it and be done with it? I'm sure I could access the bluetooth hub and send data out to a propeller with a bluetooth module, but I don't want to do that. I still think there is a way to complete this project unrooted with built-in android libraries, but everywhere I turn there is a wall. It doesn't help that all my stuff is across the country and all i have is a quickstart board.
Comments
It can be done, the module just needs to have DTR or RTS available for making a reliable reset circuit with a cap/resistor/transistor.
@Heater, have you looked at QtQuick?
At the time I was having a hard time getting into the declarative approach and Javascript but having spent a long while getting into Javascript recently maybe I should revisit QtQuick.
As text editor it is possible to use Jota. Have not really put to much effort into getting download working. I did try to get PZST working (via necessitas), but I never got that working.
Also it is possible to compile the opensource spin compiler mention before with the android NDK, I got it compiled, just never tried it out on my tablet. Will give it a go tonight.
Hey, in your post you referenced mention a plan to implement a prop downloader and other things that sound great...did those get created?
Thanks,
Tyler
Android debug bridge on a propeller: http://forums.parallax.com/showthread.php?130380-Android-Debug-Bridge-on-a-prop&highlight=M.K.Borri
Pyhton based downloader: http://forums.parallax.com/showthread.php?90707-Propeller-development-for-non-Windows-users&p=622354#post622354
Regarding running the Open source spin compiler. I've got to do more homework as it seems I have not properly complied it (More reading to do on how to compile native android applications)
Ha, got it working .
STeps to get it to compile:
1) Download the latest NDK
2) Create a standalone version of the toolchain (how-to in docs)
3) Download the latest version (r33) of the compiler
4) Copy the attached makefiles
5) Make sure that your PATH includes the folder of the generated toolchain
5) And compile.
I've disabled RTTI and exceptions to get it to compile and work. I'm not sure if that is the right way, but it is working sofar. Need to make the changes in the Makefiles such that they can be applied to the base without effecting native compile (now it is either or).
The attached spin compiler is compiled with API level 14 and most likely only works on devices with HC or ICS (3.x or 4.x) installed.
[Update] Added Dave Hein's spinsim to android spin compiler zip file. And guess what it is all working . Now to get download to a prop working
[Update2]You can have an almost complete development environment by using terminalide from the play store, the spin syntax for vim from the forum (http://forums.parallax.com/showthread.php?118328-Spin-syntax-definition-for-Vim) and copying the attached compiler file. Missing is download to prop
Cheers,
Tyler
Yes, quite a good one. This thread for more info: http://forums.parallax.com/showthread.php?127976-Spin-Simulator
What I need to know from anybody that is willing to post is this information from any boards you have laying around.
I would like this information for the Demo Board, the C3 board, a propeller attached to a propclip, and possibly a gadgetkit and hydra.
My first step before even bothering with an IDE is to get the tablet connected to the prop and have it report the version number of the prop. So i'm going to have to figure out what bytes to send it and the handshaking , etc.
Android applications automatically have the ability to be passed the system information, like a usb eject and insert. But you have to write a intent filter and ask the user for permission to use the USB device. I want to see if I can manage to write a program that will "toast" a message when a propeller chip is plugged in and display the version number of the prop.(aka Version 1). A toast in android is just like a box that comes up and goes away automatically. If I can manage to connect and query and recieve back from the prop , there is no reason why a program could not be sent. I know that sending a byte or two and receiving a byte or two will not reasonably guage the latency during longer transfers, but it is a starting point. So my main vision is to write the program and even if you don't explicitly run the "app". it will "toast" the prop version. I don't know enough yet to know how android does this. In the background processes not all applications are even listed, but yet there are applications(like textplus for sms to cell) that aren't running but still "wake-up" when a event they care about occurs. In theory I could have it run the app as soon as it detects a prop is connected. But lots will have to be done even if I accomplish this "easy" task. Still don't know how to write the compiler. Assuming every instruction is a 32-bit long, it shouldn't be impossible to convert the spin code.
[Added]
Actually, using the loader from the propeller-gcc (http://code.google.com/p/propgcc/) might work. Need to try this out, not sure when though.
[Update] If you like to access the serial port from android this might be interesting: http://forum.xda-developers.com/archive/index.php/t-1532849.html