|
@@ -34,6 +34,7 @@
|
|
|
|
|
|
/* Private define ------------------------------------------------------------*/
|
|
|
/* USER CODE BEGIN PD */
|
|
|
+#define MAX_NO_OF_OW 5
|
|
|
/* USER CODE END PD */
|
|
|
|
|
|
/* Private macro -------------------------------------------------------------*/
|
|
@@ -157,22 +158,26 @@ int main(void)
|
|
|
/* Infinite loop */
|
|
|
/* USER CODE BEGIN WHILE */
|
|
|
|
|
|
- printf("VVB Energy Sensor\n\n");
|
|
|
-
|
|
|
// ------------- Search for OneWireSensors
|
|
|
//Found device: 0x080C25372F3D253F <-- Crap
|
|
|
//Found device: 0x28FF22DA551603C3 <-- This is the probe
|
|
|
|
|
|
reset_oneWireSearch();
|
|
|
- uint64_t adr = 0;
|
|
|
- while( oneWireSearch(&adr) ) {
|
|
|
- printf("Found device: 0x");
|
|
|
- for( uint8_t i = 8; i>0; i--) printf("%02X",(uint8_t)(adr >> ((i-1)*8))&0xFF);
|
|
|
- printf("\n");
|
|
|
+ uint64_t adr[MAX_NO_OF_OW] = {0,0,0,0,0};
|
|
|
+ uint8_t adrCnt=0;
|
|
|
+
|
|
|
+ while( oneWireSearch(adr+adrCnt) ) {
|
|
|
+ //printf("Found device: 0x");
|
|
|
+ //for( uint8_t i = 8; i>0; i--) printf("%02X",(uint8_t)(adr[adrCnt] >> ((i-1)*8))&0xFF);
|
|
|
+ //printf("\n");
|
|
|
+ adrCnt++;
|
|
|
}
|
|
|
- printf("\n");
|
|
|
+ //printf("\n");
|
|
|
reset_oneWireSearch();
|
|
|
|
|
|
+ //adr = 0x28FF22DA551603C3;
|
|
|
+ //setConfigRegister(adr, 0x00); // 9-bit resolution
|
|
|
+
|
|
|
while (1)
|
|
|
{
|
|
|
/* USER CODE END WHILE */
|
|
@@ -181,12 +186,20 @@ int main(void)
|
|
|
HAL_GPIO_TogglePin (GPIOC, GPIO_PIN_13);
|
|
|
|
|
|
//adr = 0x080C25372F3D253F;
|
|
|
- adr = 0x28FF22DA551603C3;
|
|
|
- /*float temp = */readTemperature(adr);
|
|
|
+
|
|
|
+ for(uint8_t sId=0;sId<MAX_NO_OF_OW && adr[sId]>0 ;sId++) {
|
|
|
+ float temp = readTemperature(adr[sId]);
|
|
|
+ printf("{\"type\":\"temp\",\"id\":\"");
|
|
|
+ for( uint8_t i = 8; i>0; i--) printf("%02X",(uint8_t)(adr[sId] >> ((i-1)*8))&0xFF);
|
|
|
+ printf("\",\"value1\":%.2f}\n",temp);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
uint16_t adcDiff = getADCDiff();
|
|
|
- printf("Cnt:%lu Diff:%u mV:%u\n",adcCounter, adcDiff, (adcDiff*805)/1000);
|
|
|
+ //printf("Cnt:%lu Diff:%u mV:%u\n",adcCounter, adcDiff, (adcDiff*805)/1000);
|
|
|
+
|
|
|
+ printf("{\"type\":\"vpp\",\"id\":\"0");
|
|
|
+ printf("\",\"value1\":%u}\n",adcDiff);
|
|
|
|
|
|
HAL_Delay(1000);
|
|
|
}
|