]> www.fi.muni.cz Git - bike-lights.git/commitdiff
patterns: 3 bits for duration, 5 bits for mode
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Tue, 4 Jun 2013 15:46:59 +0000 (17:46 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Tue, 4 Jun 2013 15:46:59 +0000 (17:46 +0200)
I plan to use a single mode for encoding all three pwmleds:

2 bits for PWMLED 0
1 bit  for PWMLED 1
2 bits for PWMLED 2

firmware/control.c
firmware/lights.h
firmware/pattern.c

index da59972b135c59c2cb2b5678aa4bb578724a327c..a90bb713dfa846f9df2775b347180f8a6290d7f4 100644 (file)
@@ -30,23 +30,23 @@ static pattern_t panic_pattern[] = {
 };
 
 pattern_t on1_pattern [] = {
-       { 1, 0x10 },
+       { 1, 0x7 },
        PATTERN_END
 };
 
 static pattern_t on2_pattern [] = {
-       { 2, 0x10 },
+       { 2, 0x7 },
        PATTERN_END
 };
 
 static pattern_t on3_pattern [] = {
-       { 3, 0x10 },
+       { 3, 0x7 },
        PATTERN_END
 };
 
 static pattern_t brake_pattern [] = {
        { 4, 0x2 },
-       { 3, 0x8 },
+       { 3, 0x7 },
        PATTERN_END
 };
 
@@ -54,11 +54,11 @@ static pattern_t normal2_pattern[] = {
        { 2, 0x1 },
        { 0, 0x1 },
        { 2, 0x1 },
-       { 0, 0x8 },
+       { 0, 0x7 },
        { 1, 0x1 },
        { 0, 0x1 },
        { 1, 0x1 },
-       { 0, 0x8 },
+       { 0, 0x7 },
        PATTERN_END
 };
 
@@ -66,11 +66,11 @@ static pattern_t normal3_pattern[] = {
        { 3, 0x1 },
        { 0, 0x1 },
        { 3, 0x1 },
-       { 0, 0x8 },
+       { 0, 0x7 },
        { 1, 0x1 },
        { 0, 0x1 },
        { 1, 0x1 },
-       { 0, 0x8 },
+       { 0, 0x7 },
        PATTERN_END
 };
 
@@ -78,29 +78,32 @@ static pattern_t normal4_pattern[] = {
        { 4, 0x1 },
        { 0, 0x1 },
        { 4, 0x1 },
-       { 0, 0x8 },
+       { 0, 0x7 },
        { 1, 0x1 },
        { 0, 0x1 },
        { 1, 0x1 },
-       { 0, 0x8 },
+       { 0, 0x7 },
        PATTERN_END
 };
 
 static pattern_t slow1_pattern[] = {
        { 1, 0x01 },
-       { 0, 0x10 },
+       { 0, 0x7 },
+       { 0, 0x7 },
        PATTERN_END
 };
 
 static pattern_t slow2_pattern[] = {
        { 2, 0x01 },
-       { 0, 0x10 },
+       { 0, 0x7 },
+       { 0, 0x7 },
        PATTERN_END
 };
 
 static pattern_t slow3_pattern[] = {
        { 3, 0x01 },
-       { 0, 0x10 },
+       { 0, 0x7 },
+       { 0, 0x7 },
        PATTERN_END
 };
 
index 41ee4d6aebcdaa9804184101b8b0f6bbf6022de2..f31760621f1ab4da18b61f9b41cffdc303f2e050 100644 (file)
@@ -73,8 +73,8 @@ void ambient_adc(uint16_t adc_val);
 
 /* pattern.c */
 typedef struct {
-       unsigned char mode: 3;
-       unsigned char duration: 5;
+       unsigned char mode: 5;
+       unsigned char duration: 3;
 } pattern_t;
 
 #define PATTERN_END { 0, 0 }
index 55b64cc6e5bf23729d75c5a676c69708619999ff..77f026ac9cec9ac9686913ff698e01d4fbafc5b0 100644 (file)
@@ -21,8 +21,8 @@ static pattern_t boot_pattern[] = {
        { 0, 0x1 },
        { 1, 0x1 },
        { 0, 0x1 },
-       { 1, 0x10 },
-       { 0, 0x10 },
+       { 1, 0x7 },
+       { 0, 0x7 },
        PATTERN_END
 };
 
@@ -47,7 +47,8 @@ static pattern_t pattern_num[] = {
        { 1, 0x1 }, /*  2 */
        { 0, 0x5 },
        { 1, 0x1 }, /*  1 */
-       { 0, 0xF },
+       { 0, 0x7 },
+       { 0, 0x7 },
        PATTERN_END
 };
 
@@ -72,7 +73,8 @@ static pattern_t pattern_invnum[] = {
        { 0, 0x1 }, /*  2 */
        { 1, 0x5 },
        { 0, 0x1 }, /*  1 */
-       { 1, 0xF },
+       { 1, 0x7 },
+       { 1, 0x7 },
        PATTERN_END
 };