Skip to content

Commit 8f7d912

Browse files
committed
Slowed down clock, SPI mode 3
1 parent 9d48cf6 commit 8f7d912

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

ATM90E26.ino

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,22 @@ void setup() {
2424

2525
void loop() {
2626
/*Repeatedly fetch some values from the ATM90E26 */
27-
Serial.print("Status:");
28-
Serial.println(GetSysStatus());
27+
Serial.print("Sys Status:");
28+
Serial.println(GetSysStatus(),HEX);
29+
delay(10);
30+
Serial.print("Meter Status:");
31+
Serial.println(GetMeterStatus(),HEX);
32+
delay(10);
2933
Serial.print("Voltage:");
3034
Serial.println(GetLineVoltage());
35+
delay(10);
3136
Serial.print("Current:");
3237
Serial.println(GetLineCurrent());
38+
delay(10);
3339
Serial.print("Active power:");
3440
Serial.println(GetActivePower());
41+
delay(10);
3542
Serial.print("p.f.:");
3643
Serial.println(GetPowerFactor());
37-
delay(500);
44+
delay(1000);
3845
}

energyic.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,6 @@ double GetImportEnergy();
8484
double GetExportEnergy();
8585
void InitEnergyIC();
8686
unsigned short GetSysStatus();
87+
unsigned short GetMeterStatus();
8788

8889
#endif

energyic.ino

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
unsigned char* data=(unsigned char*)&val;
2121
unsigned short output;
2222
//SPI interface rate is 200 to 160k bps. It Will need to be slowed down for EnergyIC
23-
SPISettings settings(2000000, MSBFIRST, SPI_MODE2);
23+
SPISettings settings(200000, MSBFIRST, SPI_MODE3);
2424

2525
//switch MSB and LSB of value
2626
output=(val>>8)|(val<<8);
@@ -71,6 +71,10 @@ double GetLineVoltage(){
7171
return (double)voltage/100;
7272
}
7373

74+
unsigned short GetMeterStatus(){
75+
return CommEnergyIC(1,EnStatus,0xFFFF);
76+
}
77+
7478
double GetLineCurrent(){
7579
unsigned short current=CommEnergyIC(1,Irms,0xFFFF);
7680
return (double)current/1000;

0 commit comments

Comments
 (0)