695Re: IV-17 SS kinda working!
- May 17, 2011Thanks for the update Simon.
Sending those numbers in deciaml is the only way to give control of large displays. for upto 10 tubes then we can use ascii characters 0-9, but after that, to send '11' for example, requires another byte of data. The alternatives are to either use decimal , allowing up to 255 tubes to be addressed, or use comma delimiting again. Sending decimal/hex values takes the least amount of processing time which seemed impoortant as that processing is done during an interrupt and display aberations were always going to be a risk if processing took too long.
I have updated the manual to cover the points yoiu have raised and have copied the relevant scroll command instructions from it here.
I cannot say why the pwm frequency is not changing because I haven't been back to my breadboard yet, but from what I recall my Fluke77 was showing a good range of frequency when I turned the relevant pot. I'll look into it, but it might be worth checking that when yoiu change the frequency, in order to get an accurate reading the duty cycle should be about 50% to start with. If you are using logarithmic pots 50% duty cycle is quite a way off to one end of travel.
Anyway, here's the scrolling instruction. please let me know how yoiu get on with, thanks.
To display the word `Stop' by scrolling it from right to left send the following command
MS5062Stop. The sequence of numbers are custom values which are relevant to the scrolling command..
There are three values immediately following the MS command to be aware of
MS<1-255><start position><end position>
The first value is the time step delay value, 1-255. A value of 255 equates to a delay of about 2 seconds between scroll steps, which is a very slow scroll effect. A value of 50 equates to about 0.4 seconds, which is quite a comfortable delay. This value can be thought of as the hold time after a scroll step has taken place, before the next step of the scroll routine is executed.
<start position> and <end position> should be values of between 1 and the maximum number of tubes in your display. Imagine a display made up of twelve characters, and you would like to scroll a word across only the middle 4 character positions, leaving the rest of the display intact. The middle character positions are numbered 5,6,7 and 8 If you want to scroll the word `Scrolling' across only those 4 characters, from right to left, then the command would be as follows
MS<50><8><5>Scrolling The <> brackets are not sent in the final command, so the final instruction would look like MS5085Scrolling
What if you want to scroll from left to right instead ? This time just change the position of the numbers 5 and 8. The software knows which direction you would like to scroll in by the order of the numbers. To scroll the same word from left to right this time, send the command MS5058Scrolling.
Note that the number of scrolling steps equals the number of characters. In order to clear a display after a word has been scrolled onto it you need to add following or preceding spaces as appropriate. For example, in order to scroll the word `Stop' across the display and then clear the display afterwards send the following command
--- In email@example.com, "shklaw75" <shklaw75@...> wrote:
> Hi Chris,
> That got the message display working. Either sending the whole command in hex (more of a pain to convert when typing on a keyboard!) or a combination of ascii and hex (or dec) worked as well.
> The scrolling MS command sort of worked, do the numbers have be decimal as well? What do the numbers do? Eg. in the command MS5062STOP what does 50, 6 and 2 do?
- << Previous post in topic Next post in topic >>