PDA

View Full Version : Strobes not fireing during sequence



jrock64
11-28-2012, 09:40 AM
I have some 3watt strobes, see thread...
http://doityourselfchristmas.com/forums/showthread.php?20651-Re-purposing-some-3w-stars-as-pest-deterrent

The strobe is cycled by a a PIC12F that receives its power from the output of the PIC16F688 in the Renard.
This means that the Renard must output 100% power at 100% duty cycle.
Any loss of power will cause the strobe to not fire.

Now here is the strange part.
They will not fire during the sequence.
They will not fire turning on individual channels in the channel tester.
But the work perfectly if you turn on the entire universe in the channel tester.

I promise, this will be my last issue this year.

Joel

Skunberg
11-28-2012, 09:58 AM
Joel, with all the help you give around here, you deserve a issue a day. The only guess I have is to try having them on longer during the sequence and see if it helps. Might be like my spiral lights on the megatree, they have a eight option box on them that I have set to full on. But certain strings twinkle at the same spot in a sequence every time. And other strings twinkle at a different spot every time, and some never twinkle like they should. Vixen is set to 100 percent on so who knows what quirks the electrons have found.

Brian

JHinkle
11-28-2012, 10:08 AM
I have some 3watt strobes, see thread...
http://doityourselfchristmas.com/forums/showthread.php?20651-Re-purposing-some-3w-stars-as-pest-deterrent

The strobe is cycled by a a PIC12F that receives its power from the output of the PIC16F688 in the Renard.
This means that the Renard must output 100% power at 100% duty cycle.
Any loss of power will cause the strobe to not fire.

Now here is the strange part.
They will not fire during the sequence.
They will not fire turning on individual channels in the channel tester.
But the work perfectly if you turn on the entire universe in the channel tester.

I promise, this will be my last issue this year.

Joel

Joel:

No such thing as 100% power and 100% duty cycle. The only thing the controller knows is the illumination value.

100% to HLS is illumination value 255.

Check the output debug file and make sure 255 is actually being transmitted (no dimming curve or Lighting Control Master) modifing its value.

Find out what SPECIFIC value you PIC is looking for ... single value or range of values.

What is the minimum duration of this illumination value that must be present before they fire.

Let me know.

Joe

jrock64
11-28-2012, 11:05 AM
Will check the output this afternoon.

Here is some other discussion...
http://doityourselfchristmas.com/forums/showthread.php?20742-Need-renard-with-on-off-only-to-be-used-to-power-another-PIC&highlight=strobe

They fire as soon as they recieve power, then wait one second before firing again.
Can not say for sure, but would guess the value has to be 255 to get the full on state.

But what is the difference between turning on one channel at a time versus the entire universe in the channel tester.
Turning on the entire universe works.
Turning on individual channels does not.

Joel

JHinkle
11-28-2012, 11:09 AM
Check the Export File for your sequence.

The illumination values are in HEX - so 255 is shown as FF.

Look for your strobe channels by name and then check the BLOCK data for value and duration.

In TEST mode - the duration is NOT just one time slice but many --- that is why I asked about duration.

The data in your export file will tell all.

As far a total universe verse channel - that sounds like a question for the Renard folks - or whoever is knowledgeable about your hardware.


Joe

jrock64
11-28-2012, 04:35 PM
All the Non RGB channels appear to have a maximum value of FE.
The RGB channels will go to FF

I created a dimming curve setting all values greater than 239 = 255.
Applied that curve to my strobes and they are now working.

Joel

JHinkle
11-28-2012, 05:17 PM
Check you LEVEL value and make sure they were 100%.

I'd like to find out why yours only converted to FE (254) and not FF (255).

Joe

jrock64
11-28-2012, 06:21 PM
The default is set to 100%

I started to get suspicious when I looked at the attachment in this post.
http://doityourselfchristmas.com/forums/showthread.php?22686-HLS-now-has-Master-and-SubMaster-Lighting-Channels&p=238142#post238142

The file has FEs instead of FFs in it.

I created a new sequence.
A 20 tic level at 100
a 20 tic dowm from 100 to 0
a 20 tic up from 0 to 100
a 20 tic level at 100

I hovered over each cell to confirm these values.

Channel 1 has my custom dimming curve,
Channel 2 has no dimming curve applied.

Following that is one set of RGB channels with no curves applied

The master lighting channel was not selected on export.

<ChannelNumber>1</ChannelNumber>
<IlluminationData>
<Block>0-00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,F F,FF,FF,FF,FF,FF,FF,00,00,00,00,00,00,00,00,00,00,</Block>
<Block>50-FF,FF,E4,D6,C9,BB,AE,A1,93,86,78,6B,5D,50,43,35,28 ,1A,0D,00,00,00,00,00,00,00,00,00,00,00,02,0D,1A,2 8,35,43,50,5D,6B,78,86,93,A1,AE,BB,C9,D6,E4,FF,FF,</Block>
<Block>100-00,00,00,00,00,00,00,00,00,00,FF,FF,FF,FF,FF,FF,FF ,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,</Block>

<ChannelNumber>2</ChannelNumber>
<IlluminationData>
<Block>0-00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,FE,FE,FE,FE,FE,FE,FE,FE,FE,FE,FE,FE,FE,F E,FE,FE,FE,FE,FE,FE,00,00,00,00,00,00,00,00,00,00,</Block>
<Block>50-FE,F1,E4,D6,C9,BB,AE,A1,93,86,78,6B,5D,50,43,35,28 ,1A,0D,00,00,00,00,00,00,00,00,00,00,00,02,0D,1A,2 8,35,43,50,5D,6B,78,86,93,A1,AE,BB,C9,D6,E4,F1,FE,</Block>
<Block>100-00,00,00,00,00,00,00,00,00,00,FE,FE,FE,FE,FE,FE,FE ,FE,FE,FE,FE,FE,FE,FE,FE,FE,FE,FE,FE,FE,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,</Block>


<ChanInfo>151CH00001, RGB-R</ChanInfo>
<ChannelNumber>1</ChannelNumber>
<IlluminationData>
<Block>0-00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,F F,FF,FF,FF,FF,FF,FF,00,00,00,00,00,00,00,00,00,00,</Block>
<Block>50-00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,</Block>
<Block>100-00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,</Block>

<ChanInfo>151CH00001, RGB-G</ChanInfo>
<ChannelNumber>2</ChannelNumber>
<IlluminationData>
<Block>0-00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,</Block>
<Block>50-00,00,00,00,00,00,00,00,00,00,FF,FF,FF,FF,FF,FF,FF ,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,</Block>
<Block>100-00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,</Block>

<ChanInfo>151CH00001, RGB-B</ChanInfo>
<ChannelNumber>3</ChannelNumber>
<IlluminationData>
<Block>0-00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,</Block>
<Block>50-00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,</Block>
<Block>100-FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF ,FF,FF,FF,00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,</Block>

JHinkle
11-28-2012, 08:36 PM
This one ended being a lesson learned about Microsoft's compiler.

I usually tests these type of conversions when using embedded compilers - but who would figure Microsoft has an issue.

For max performance - you would like to avoid all number conversions during run time.

Here is the code for NON-RGB illumination data conversion.
v = (word)(C->h_Output[i] * 2.55);

v is a 16 value
C->h_Output is an array of floats - they hold the sequence level value from 0.0 to 100.0

I had suspected that v would equate to 255 or 0xff. WRONG - Microsoft's C++ compiler results v = 254 or 0xfe


I got the expected 255 or 0xff when I extracted color level from the 24 bit color value --- the extracted value is a byte.

Revise the above equation (slower because we must do a type conversion at run time)

byte ByteConstant = 0xff;

Now we have a memory location (size of byte) that holds the value 255 or 0xff.

Rewite the conversion ....

v = (word)(C->h_Output[i] * (float)ByteConstant / 100.0);

This time v results in the expected 255 or 0xff.

I share this as a learning experience for anyone interested in embedded software. Get to know how your compiler reacts to type conversions and corner cases. Who would have thought that Microsoft's C++ compiler would produce such a suttle bug.


With respect to the topic of this thread ..... I have revised the software to produce the expected value --- so --- you should be able to remove your Dimming Curves from your sequence.

Your observation that RGB was converting properly but NON-RGB was not was a key factor in understanding this issue.

Joe

CaptKirk
11-28-2012, 08:39 PM
It was an undocumented FEATURE of both HLS and the compiler!!

budude
11-28-2012, 08:48 PM
So, so glad you found this as my strobes (also PIC based) would not have worked with this issue either - great job guys!

jrock64
11-28-2012, 09:18 PM
So, so glad you found this as my strobes (also PIC based) would not have worked with this issue either - great job guys!

When it it your turn to be on the bleeding edge???
I have 4 more songs to sequence.

Joel

budude
11-28-2012, 10:29 PM
When it it your turn to be on the bleeding edge???
I have 4 more songs to sequence.

Joel

Well - I'm *trying* to be on the edge but I think I fell off it! - - I still have to sequence ALL of my songs so you're way ahead of me!! Lesse - - startup is 12/1 - yeah - no problem... :ohno: