Explorar el Código

Fix errors. All work.

Vladimir N. Shilov hace 2 años
padre
commit
a56a1342de
Se han modificado 4 ficheros con 23 adiciones y 25 borrados
  1. 9 12
      app/application.cpp
  2. 11 10
      app/led_spi.cpp
  3. 2 2
      app/tm1650.cpp
  4. 1 1
      include/configuration.h

+ 9 - 12
app/application.cpp

@@ -107,6 +107,7 @@ void showWatch(void) {
 		// New Second
 		oldTime = Time;
 		LED_ShowBin(dt.Hour, dt.Minute);
+//		LED_ShowBin(dt.Minute, dt.Second);
 		LED_SemicolonOn();
 
 		if (dt.Second == 0x00) {
@@ -138,28 +139,24 @@ void showTime(void) {
  * Show temperature, small indicators
  */
 void showTemperature(void) {
-	uint8_t a, b, c;
+	uint8_t a, b;
 	a = sensorData.Temperature / 100;
-	c = sensorData.Temperature % 100;
-	b = c / 10;
-	c = c % 10;
-	TM1650_Out(a, b, c, 0);
+	b = (sensorData.Temperature % 100) / 10;
+	TM1650_Out(a, b, 0, 0);
+	TM1650_Out3(Sym_o);
 	TM1650_Out4(Sym_C);
-	TM1650_DotSet(Dig_2);
 }
 
 /*
  * Show humidity, small indicators
  */
 void showHumidity(void) {
-	uint8_t a, b, c;
+	uint8_t a, b;
 	a = sensorData.Humidity / 100;
-	c = sensorData.Humidity % 100;
-	b = c / 10;
-	c = c % 10;
-	TM1650_Out(a, b, c, 0);
+	b = (sensorData.Humidity % 100) / 10;
+	TM1650_Out(a, b, 0, 0);
+	TM1650_Out3(Sym_Off);
 	TM1650_Out4(Sym_H);
-	TM1650_DotSet(Dig_2);
 }
 
 /*

+ 11 - 10
app/led_spi.cpp

@@ -2,7 +2,8 @@
 #include <HardwarePWM.h>
 
 /* Private defines */
-#define LED_NUM     4
+#define LED_NUM         4
+#define LED_REFRESH_MS  3
 
 #define PinSet(pin)   GPIO_REG_WRITE(GPIO_OUT_W1TS_ADDRESS, ((uint16_t)1<<(pin)))
 #define PinRes(pin)   GPIO_REG_WRITE(GPIO_OUT_W1TC_ADDRESS, ((uint16_t)1<<(pin)))
@@ -45,7 +46,7 @@ typedef enum t_led_symb {
   sym_2 = (uint8_t)(seg_A | seg_B | seg_G | seg_E | seg_D),
   sym_3 = (uint8_t)(seg_A | seg_B | seg_G | seg_C | seg_D),
   sym_4 = (uint8_t)(seg_F | seg_G | seg_B | seg_C),
-  sym_5 = (uint8_t)(seg_A | seg_F | seg_G | seg_E | seg_D),
+  sym_5 = (uint8_t)(seg_A | seg_F | seg_G | seg_C | seg_D),
   sym_6 = (uint8_t)(seg_A | seg_F | seg_G | seg_E | seg_D | seg_C),
   sym_7 = (uint8_t)(seg_A | seg_B | seg_C),
   sym_8 = (uint8_t)(seg_A | seg_B | seg_C | seg_D | seg_E | seg_F | seg_G),
@@ -60,7 +61,7 @@ static const led_pos_t led_pos[LED_NUM] = {
 static const led_symb_t led_dig[10] = {
   sym_0, sym_1, sym_2, sym_3, sym_4, sym_5, sym_6, sym_7, sym_8, sym_9
 };
-static led_symb_t led_bufer[LED_NUM] = {sym_0, sym_1, sym_2, sym_3};
+static led_symb_t led_bufer[LED_NUM] = {sym_Blank, sym_Blank, sym_Blank, sym_Blank};
 static Timer ledTimer;
 static uint8_t hw_pwm_pins[1] = {PIN_OUTE};
 static HardwarePWM OE_pwm(hw_pwm_pins, 1);
@@ -94,25 +95,25 @@ void LED_writeData (led_pos_t pos, led_symb_t data) {
 
 void LED_ShowLed(void) {
   static uint8_t cnt = 0;
-  LED_writeData(led_pos[cnt], led_bufer[cnt]);
+  LED_writeData(led_pos[cnt], sym_Blank);
   cnt ++;
   if (cnt >= LED_NUM) {
     cnt = 0;
   }
+  LED_writeData(led_pos[cnt], led_bufer[cnt]);
 }
 
 /* Exported functions */
 void LED_Init (void) {
   Serial.println("BIG LED SPI init!");
 
-
   /* in future, replace by pwm */
-  pinMode(PIN_OUTE, OUTPUT);
+/*  pinMode(PIN_OUTE, OUTPUT);
   PinRes(PIN_OUTE); // output enable
-/*
+*/
   MaxDuty = OE_pwm.getMaxDuty();
-  LED_SetBright(50);
-/*
+  LED_SetBright(14);
+
   /* prepare soft spi */
   pinMode(PIN_DOUT, OUTPUT);
   pinMode(PIN_CLK, OUTPUT);
@@ -122,7 +123,7 @@ void LED_Init (void) {
   PinRes(PIN_LOAD);
 
   /* Start timer for refresh leds */
-  ledTimer.initializeMs(5, LED_ShowLed).start();
+  ledTimer.initializeMs(LED_REFRESH_MS, LED_ShowLed).start();
 }
 
 /**

+ 2 - 2
app/tm1650.cpp

@@ -29,13 +29,13 @@ static bool I2CWriteTo(uint8_t addr, uint8_t data);
  * @brief Initialization
  */
 void TM1650_Init(void) {
-  if (I2CWriteTo(TM1650_ADDR_SYS, 0x79)) {
+  if (I2CWriteTo(TM1650_ADDR_SYS, 0x71)) {
     Serial.println("TM1650 not respond!");
     isPresent = false;
     return;
   }
   isPresent = true;
-  TM1650_Out(Sym_Minus, Sym_Minus, Sym_Minus, Sym_Minus);
+  TM1650_Bright(1);
 }
 
 /**

+ 1 - 1
include/configuration.h

@@ -22,7 +22,7 @@
 struct ClockConfig {
   ClockConfig()
   {
-    AddTZ = 2;
+    AddTZ = 3;
     LightTrhLow = 341;
     LightTrhHigh = 683;
     BrightnessLow = 0;