|
|
|
@ -499,27 +499,27 @@ void NeoPatterns::Radar(float radarspeed,float radarthickness, uint8_t interval)
|
|
|
|
|
void NeoPatterns::RadarUpdate()
|
|
|
|
|
{
|
|
|
|
|
Radarposition += Radarspeed;
|
|
|
|
|
while (Radarposition>=32){
|
|
|
|
|
Radarposition-=32;
|
|
|
|
|
while (Radarposition>=20){
|
|
|
|
|
Radarposition-=20;
|
|
|
|
|
}
|
|
|
|
|
while (Radarposition<=-32){
|
|
|
|
|
Radarposition+=32;
|
|
|
|
|
while (Radarposition<=-20){
|
|
|
|
|
Radarposition+=20;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int i=0;i<32;i++){
|
|
|
|
|
for (int i=0;i<20;i++){
|
|
|
|
|
uint32_t c= Color(0,0,0);
|
|
|
|
|
|
|
|
|
|
float angulardistance;
|
|
|
|
|
if (Radarspeed>0){
|
|
|
|
|
angulardistance=Radarposition-i;
|
|
|
|
|
if (angulardistance<0){
|
|
|
|
|
angulardistance+=32;
|
|
|
|
|
angulardistance+=20;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (angulardistance<=Radarfadelength){
|
|
|
|
|
uint8_t _brightness=(Radarfadelength-angulardistance)*255/Radarfadelength;
|
|
|
|
|
c= Color (int( pow( (_brightness/255.0),2)*255.0), _brightness ,int(pow( (_brightness/255.0),2)*200.0) );
|
|
|
|
|
c= Color (int( pow( (_brightness/255.0),2)*255.0), _brightness ,int(pow( (_brightness/255.0),2)*150.0) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
colorCircleSegment(i, c);
|
|
|
|
@ -528,11 +528,15 @@ void NeoPatterns::RadarUpdate()
|
|
|
|
|
Radardotbrightness=255;
|
|
|
|
|
}
|
|
|
|
|
if (Radardotbrightness>10){
|
|
|
|
|
Radardotbrightness-=Radardotfadespeed;
|
|
|
|
|
if (Radardotbrightness>=Radardotfadespeed){
|
|
|
|
|
Radardotbrightness-=Radardotfadespeed;
|
|
|
|
|
}else{
|
|
|
|
|
Radardotbrightness=0;
|
|
|
|
|
}
|
|
|
|
|
colorCircleSegment(Radardotposition, Color (Radardotbrightness,0,0));
|
|
|
|
|
}else{
|
|
|
|
|
if (random(100)==0){
|
|
|
|
|
Radardotposition=random(0,32); //set new position
|
|
|
|
|
Radardotposition=random(0,20); //set new position
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -687,7 +691,7 @@ void NeoPatterns::setupboxs() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void NeoPatterns::colorCircleSegment(uint8_t wheelid, uint32_t c){ //color a wheel segment
|
|
|
|
|
for (int i=0;i<4;i++) {
|
|
|
|
|
for (int i=0;i<6;i++) {
|
|
|
|
|
setPixelColor(boxcircle[wheelid][i], c);
|
|
|
|
|
}
|
|
|
|
|
show();
|
|
|
|
|