carrot
Flashaholic
Without a doubt, yes, one day. We are already at the point where the hardware can support it. Someone just needs to figure out how to write the software for an end-user to use.
If your going to wait for the clock to stabilize, then load the user's program from flash into ram, then load the last saved states, while your checking for user input you are going to be waiting for more than 10ms, and it will be a noticeable delay.
The parasitic drain I mentioned would be from keeping the micro in a sleep state, or even keeping it ready for user input so as to avoid the input delay not from volatile memory, but what is to say that the user wouldn't choose an input scheme that would require an always active state?
Why do you believe it has to load a program into ram?
Well, because that is how processors work, if it were to try running a program directly from flash memory it would be incredibly slow to the point of being useless for ANY application.
I'm done trying to talk intelligently about the limitations you would find if you were to actually attempt to make a user programmable flashlight, which are quite different than one that is programmed once at assembly with a highly optimized program written in assembly language.
Without a doubt, yes, one day. We are already at the point where the hardware can support it. Someone just needs to figure out how to write the software for an end-user to use.
We are already at the point where the hardware can support it.
But my goodness, I would think a programmable UI program would be pretty easy to write????
With UI's from light's like the Jetbeam I.B.S and HDS Ra what else so you want to program? You can set those light's up to do just about everything you want.
JSBurly was working on this a while ago. Unfortunately the money wasn't there and the project was put on hold.
http://jsburlysbenchmark.com/flashlights/indiumsmart.php
Well, because that is how processors work, if it were to try running a program directly from flash memory it would be incredibly slow to the point of being useless for ANY application.
I'm done trying to talk intelligently about the limitations you would find if you were to actually attempt to make a user programmable flashlight, which are quite different than one that is programmed once at assembly with a highly optimized program written in assembly language.
So, my question is - will we ever see a true end-user-programmable UI? You know, the kind that uses a mini-USB cable which goes from the light to my computer, and then I can select EXACTLY the UI that I want.
Asynchronous serial... Easy to implement, easy to use. Most micros have a USART or at least a half-duplex UART. Even if they don't, a bit-bang protocol is just fine. USB is tricky and requires complex circuits... you can do it on an AVR, but it takes extra space and power.OK, hardware isn't a problem, software shouldn't be too big of an issue, what about the interface (between computer and flashlight)? Mini-USB has been mentioned, but that takes some space and can be problematic for waterproof standards. Can there be some type of wireless electromagnetic communication between the devices (forget Bluetooth, that is way too unreliable)? Maybe some sort of active integrated transponder switches using RFID? Maybe some sort of audio communication (my universal remote can be programmed by holding it up to the telephone while a series of beeps programs it from the mfr. on the other end of the country)?
Hmmm, maybe mini-USB is best to start with as far as easily-useable, cheap and robust, despite its drawbacks...
Asynchronous serial... Easy to implement, easy to use. Most micros have a USART or at least a half-duplex UART. Even if they don't, a bit-bang protocol is just fine. USB is tricky and requires complex circuits... you can do it on an AVR, but it takes extra space and power.