Page 1 of 1
RANet Dimming Module! Usage?
Posted: Fri Sep 05, 2014 6:56 am
by cosmith71
I have one of these wonders on the way. Is it in the 1.1.1 libraries yet? How would I address it?
Also, I was looking at this bit of lightning code Roberto posted for the LED Driver.
Code: Select all
int a=random(5);
for (int i=0;i<a;i++)
{
int newdata=4095;
Wire.beginTransmission(0x40);
Wire.write(0x8+(4*2));
Wire.write(newdata&0xff);
Wire.write(newdata>>8);
Wire.endTransmission();
delay(20+random(50));
newdata=0;
Wire.beginTransmission(0x40);
Wire.write(0x8+(4*2));
Wire.write(newdata&0xff);
Wire.write(newdata>>8);
Wire.endTransmission();
delay(30+random(20));
}
delay(random(1000));
Can someone (probably Roberto
) explain the significance of the values here? I'm guessing that 0x40 is the address of the LED Controller. 0x8+(4*2) (16?), I have no clue, maybe how many bits we're sending? The values newdata&0xff, and newdata>>8: I understand the values we're sending, but what do these particular values represent, why the bitwise AND, and why the bitshift? I'm guessing there's a guide for the chip that explains all this.
Thanks,
--Colin
Re: RANet Dimming Module! Usage?
Posted: Fri Sep 05, 2014 8:04 am
by rimai
Here is the code with some comments. Sorry about that
I'm terrible for placing comments on my codes.
Code: Select all
int a=random(5); // get a random number of strikes
for (int i=0;i<a;i++) // loop through until we reach the number of strikes we will have
{
int newdata=4095; // strike is at 100%
Wire.beginTransmission(0x40); // 0x40 is the address of the IC we are using on the dimming expansion module
Wire.write(0x8+(4*2)); // Send the 100% to channel 2 - Address location for channel 0 is 0x8, channel 1 is 0x12 and so on
Wire.write(newdata&0xff); // Send the LSB of the 100%
Wire.write(newdata>>8); // Send the MSB of the 100%
Wire.endTransmission();
delay(20+random(50)); // delay each strike by a random number from 20ms to 70ms
newdata=0; // turn off strike after delay
Wire.beginTransmission(0x40); // Same as above
Wire.write(0x8+(4*2));
Wire.write(newdata&0xff);
Wire.write(newdata>>8);
Wire.endTransmission();
delay(30+random(20)); // delay each strike by a random number from 30ms to 50ms
}
delay(random(1000));
Re: RANet Dimming Module! Usage?
Posted: Fri Sep 05, 2014 8:19 am
by cosmith71
OK, so we're sending 16 bits (really only using 12) 8 bits at a time? What's the bitwise AND doing to the MSB?
--C
Re: RANet Dimming Module! Usage?
Posted: Fri Sep 05, 2014 8:26 am
by rimai
Well, you caught my mistake
MSB is most significant byte and LSB is lowest significant byte.
So, if a 16bit number is represented by 0x0123, the MSB would be 0x01 and the LSB would be 0x23.
So, to extract the LSB, we AND it with 0xff ( 0x0123 && 0xff = 0x23 ) and to extract the MSB, we shift right by 8 bits ( 0x0123 >> 8 ). This is a very common method of splitting MSB and LSB out of a 16bit number.
You are correct the the number is represented by 16bits, but we only use 12bits out of it.
Re: RANet Dimming Module! Usage?
Posted: Fri Sep 05, 2014 8:29 am
by cosmith71
Got it! I was starting to wonder if the MSB and LSB were reversed.
And I thought I'd never use that VAX Assembler class I took 20 years ago.
Is there anything in the libraries, or do I need to cobble something together?
Thanks,
--Colin
Re: RANet Dimming Module! Usage?
Posted: Fri Sep 05, 2014 8:43 am
by rimai
For standard waveforms, everything is in the libs. The only thing you can't do is the lightning.
The new RANet will require a change on the core library released by the Arduino team.
Attached is the file you will need to replace.
Replace the original SoftwareSerial.cpp located at C:\Program Files (x86)\Reef Angel Controller\libraries\SoftwareSerial with the one attached.
Then add this include on your code:
And add this to setup():
Code the dimming module the same way as the non-wireless version.
Re: RANet Dimming Module! Usage?
Posted: Fri Sep 05, 2014 8:53 am
by cosmith71
The new RANet will require a change on the core library released by the Arduino team.
Just out of curiosity, can you explain further on this?
Thanks,
--Colin
Re: RANet Dimming Module! Usage?
Posted: Fri Sep 05, 2014 9:05 am
by rimai
It's the attached file
Basically it is because we use interrupts to catch the button press and the SoftwareSerial library also uses interrupts to generate the correct baud rate clock pulses, so we had a conflict.
I had to disable INT0 inside the SoftwareSerial to be able to get RANet to work.
This isn't final yet. I may need to tweak and see how to best handle this.
Re: RANet Dimming Module! Usage?
Posted: Wed Sep 10, 2014 2:45 pm
by cosmith71
Got the RANet dimming module. Playing with it now.
Is 0x40 the correct address for the RANet dimming module?
--Colin
Re: RANet Dimming Module! Usage?
Posted: Wed Sep 10, 2014 2:54 pm
by rimai
yes. you don't need to do anything to the dimming module except configure your dimming signal voltage
Re: RANet Dimming Module! Usage?
Posted: Wed Sep 10, 2014 3:31 pm
by cosmith71
rimai wrote:yes. you don't need to do anything to the dimming module except configure your dimming signal voltage
Got it running. I took the daughterboard off to set the jumpers and couldn't figure out which way it went back. It was nice of you to make it only fit one way.
I'll probably hook up my Jebao's tonight or tomorrow. I think I'll wait on hooking up the LED's. I still need to study the hi resolution dimming, etc.
Thanks!
--Colin
Re: RANet Dimming Module! Usage?
Posted: Wed Sep 10, 2014 4:29 pm
by rimai
If you connect the wrong way, you can't close the box.
Re: RANet Dimming Module! Usage?
Posted: Wed Sep 10, 2014 4:42 pm
by cosmith71
rimai wrote:If you connect the wrong way, you can't close the box.
So I found out! That's good design!
--Colin
Re: RANet Dimming Module! Usage?
Posted: Sat Jan 03, 2015 3:15 pm
by bencollinz
rimai wrote:yes. you don't need to do anything to the dimming module except configure your dimming signal voltage
is this still the case? and where do I do that? and are the pin layouts the same as the PWM dimming module?
Re: RANet Dimming Module! Usage?
Posted: Sat Jan 03, 2015 3:22 pm
by cosmith71
Re: RANet Dimming Module! Usage?
Posted: Sat Jan 03, 2015 3:37 pm
by bencollinz
- 20150103_171855.jpg (728.55 KiB) Viewed 7020 times
Thank you.
So, I'm OK if I put my wires in the same place on the new RAnet dimming as the old wired dimming?
Re: RANet Dimming Module! Usage?
Posted: Sat Jan 03, 2015 4:10 pm
by cosmith71
Here you go:
- 20150103_171855.jpg (255.79 KiB) Viewed 7020 times
Re: RANet Dimming Module! Usage?
Posted: Sat Jan 03, 2015 4:22 pm
by bencollinz
cosmith71 wrote:Here you go:
20150103_171855.jpg
thank you