verified functionality on ESP32 original
This commit is contained in:
parent
b6d21fd2c0
commit
fd3955f0c2
|
|
@ -15,9 +15,6 @@ Pixel::Pixel(int pin){
|
||||||
txEndMask=RMT.int_ena.val; // save interrupt enable vector
|
txEndMask=RMT.int_ena.val; // save interrupt enable vector
|
||||||
rmt_set_tx_intr_en(rf->getChannel(),true); // enable end-of-transmission interrupt
|
rmt_set_tx_intr_en(rf->getChannel(),true); // enable end-of-transmission interrupt
|
||||||
txEndMask^=RMT.int_ena.val; // find bit that flipped and save as end-of-transmission mask for this channel
|
txEndMask^=RMT.int_ena.val; // find bit that flipped and save as end-of-transmission mask for this channel
|
||||||
|
|
||||||
Serial.printf("%d %d %08X\n",rf->getChannel(),txEndMask,RMT.int_ena.val);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////
|
///////////////////
|
||||||
|
|
@ -66,9 +63,6 @@ void Pixel::setColors(const uint32_t *data, uint32_t nPixels, boolean multiColor
|
||||||
loadData(this); // load first two bytes of data to get started
|
loadData(this); // load first two bytes of data to get started
|
||||||
loadData(this);
|
loadData(this);
|
||||||
|
|
||||||
for(int i=0;i<status.px->memSize;i++)
|
|
||||||
Serial.printf("%d %08X\n",i,RMTMEM.chan[rf->getChannel()].data32[i].val);
|
|
||||||
|
|
||||||
rmt_tx_start(rf->getChannel(),true);
|
rmt_tx_start(rf->getChannel(),true);
|
||||||
|
|
||||||
while(status.started); // wait for transmission to be complete
|
while(status.started); // wait for transmission to be complete
|
||||||
|
|
@ -93,7 +87,7 @@ uint32_t Pixel::getColorHSV(float h, float s, float v){
|
||||||
|
|
||||||
void Pixel::loadData(void *arg){
|
void Pixel::loadData(void *arg){
|
||||||
|
|
||||||
if((RMT.int_st.val & status.px->txEndMask) >0){
|
if(RMT.int_st.val & status.px->txEndMask){
|
||||||
RMT.int_clr.val=~0;
|
RMT.int_clr.val=~0;
|
||||||
status.started=false;
|
status.started=false;
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -95,9 +95,9 @@ void setup() {
|
||||||
|
|
||||||
Serial.println("\n\nHomeSpan Pixel Example\n");
|
Serial.println("\n\nHomeSpan Pixel Example\n");
|
||||||
|
|
||||||
// Pixel px0(10);
|
Pixel px0(22);
|
||||||
Pixel px(1);
|
Pixel px1(3);
|
||||||
// Pixel px1(0);
|
Pixel px(21);
|
||||||
|
|
||||||
uint32_t colors[20];
|
uint32_t colors[20];
|
||||||
|
|
||||||
|
|
@ -108,10 +108,10 @@ void setup() {
|
||||||
colors[4]=px.getColorRGB(40,40,0);
|
colors[4]=px.getColorRGB(40,40,0);
|
||||||
colors[5]=px.getColorRGB(40,40,0);
|
colors[5]=px.getColorRGB(40,40,0);
|
||||||
colors[6]=px.getColorRGB(0,40,0);
|
colors[6]=px.getColorRGB(0,40,0);
|
||||||
colors[7]=px.getColorRGB(40,0,0);
|
colors[7]=px.getColorRGB(40,0,40);
|
||||||
|
|
||||||
px.setColors(colors,8);
|
px.setColors(colors,8);
|
||||||
px.setHSV(0,100,40,3);
|
px.setHSV(240,100,40,2);
|
||||||
Serial.println("\n\nDone\n\n");
|
Serial.println("\n\nDone\n\n");
|
||||||
while(1);
|
while(1);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue