Make a program to upload images to a Teensy 3.2

Status
Not open for further replies.

InvisiBug

Member
Im looking for help as I have no idea where to start.

I recently built a set of POV Poi based on the ones here
https://forum.pjrc.com/threads/30020-Teensy-APA102-POV-Poi-Pixel-Poi-Build-Tutorial

Whenever I want to add some new pictures, I need to add the pictures to the code as variables and re-upload everything. What I'd like to do is make a windows program (which can be written in whichever language is best for this sort of thing) that will allow a user to change the pictures on the poi without any programming knowledge (something similar to this https://lighttoys.cz/new-visual-poi-software-is-finally-here/)

In summary what I'd like to know is
  • What language / software should I use to make the windows application
  • How will the application communicate with the poi (Possibly just recompiling and reuploading everything)

Any help would be great as I don't know where to start,

Cheers
 
ah, this where the difference lies with the commercial products. The closed performance programming software has a lot of time and energy put into it, and this link between a performer and a simple performance creation tool is worth the money for many to go and buy the kit. Its fair enough that so much development time should be repaid somehow. An open source visual poi performance creation tool would be welcome by many. I did start one, written in java so that it would be cross platform, but I abandoned it as I really didn't need it for my own needs.
 
While I realize the effort required to make a commercial product like the visual poi loader, I find myself in the fortunate situation of having enough spare time to dedicate to a project and would like to have a go at making an open sourced version.
Would you be able to give me a super quick rundown on how your program worked such as what software you used to write it and where I could find some good reading material to help me.
I do plan on eventually making a professional-ish open source version of POV poi with options to buy the complete unit, a kit or just download the schematics and code similar to how the Arduino business model works but I'm still in very early stages.
 
Hopefully you will get some decent coding help. I used Java and built it with Netbeans as I have very little app building experience. the programme used a menu to select images from you file system, put then in order, asked you to put a time in for each image and then output an ino file. the next step was going to be to have it upload to teensy straight from the app. It is only partly done and very clunky. early days source is on GitHub-
https://github.com/mortonkopf/Half_done_pixel_poi_uploader
there are many different routes to go down re building an app, but java seemed the most available to me.
 
In terms of programing the Poi, the classic is serial via the USB jack, with as mach formatting as you choose to wrap around your data and write it to flash, either within the Teensy or if that is to small to a stand alone chip (SD cards not a good idea in something getting bounced around).

A classier solution is to use a hardware serial port and a bluetooth module that acts as a serial bridge. Then your Ap can load wirelessly (or even program in motion) but will put much more complexity into your ap in needing to access the bluetooth hardware, find the poi, sort out what happens if there is more than one etc.

As a starting point you could look at movie to serial in terms of the most basic method to get picture data moved.
https://github.com/PaulStoffregen/OctoWS2811/tree/master/extras/VideoDisplay/Processing
built using https://processing.org/
and the Arduino
https://github.com/PaulStoffregen/OctoWS2811/blob/master/examples/VideoDisplay/VideoDisplay.ino
Note the use of characters to control actions and the use of readbytes to fill a buffer with a error trapping timeout https://www.arduino.cc/en/Serial/ReadBytes

If you are targeting makers processing is a not terrible choice since most of us already have it so you are not asking people to download a random executable. Terrible choice for anything to be used by anyone else since it adds another layer to the setup process.
 
Using the serial to flash method will it be possible to have each picture stored as its own variable or will they have to be stored in one massive array?
 
Several ways to arrange the images. Simple way is fixed slots in flash, one per array for a fixed number of arrays. If you potentially have different sizes then you define a index array of startpoint+lenghs, which does hard limit the total number of images. Or you can go the whole way and look at the SD card library source and build a full files system.
 
Status
Not open for further replies.
Back
Top