Hi,
I have trying to make this code work. I dont why it isnt printing what needs to be printed. I just prints "Accessing values by column name". Please help
#include <CSV_Parser.h>
void setup() {
Serial.begin(115200);
delay(5000);
char * dbc = "Name,Message,Multiplexing/Group,Startbit,Length,ByteOrder,ValueType,InitialValue,Factor,Offset,Minimum,Maximum,Unit,Comment,MessageID,GenSigInactiveValue,GenSigSendType,GenSigStartValue\n";
"BMS_AncVolt_V,BMS_PackInfo3,16,16,Intel,Unsigned,0,0.1,0,0,1000,V,Fuel Cell Voltage - measured by HVM,0x71D,0,Cyclic,0\n";
"BMS_BalancingStatus_enum,BMS_Status2,12,4,Intel,Unsigned,0,1,0,0,15,enum,VtSig_BMS_BalancingStatus_enum,Balancing state,0x291,0,Cyclic,0\n";
CSV_Parser cp(dbc,"ss-udud-sdfddds-ux---");
Serial.println("Accessing values by column name:");
char **name = (char**)cp["Name"];
char **message = (char**)cp["Message"];
int16_t *startbit = (int16_t*)cp["Startbit"];
int16_t *length = (int16_t*)cp["Length"];
char **type = (char**)cp["ValueType"];
int16_t *initial_value = (int16_t*)cp["InitialValue"];
float *factor = (float*)cp["Factor"];
int16_t *offset = (int16_t*)cp["Offset"];
int16_t *minimum = (int16_t*)cp["Minimum"];
int16_t *maximum = (int16_t*)cp["Maximum"];
char **unit = (char**)cp["Unit"];
int32_t *message_id = (int32_t*)cp["MessageID"];
for(int row = 0; row < cp.getRowsCount(); row++) {
Serial.print(row, DEC);
Serial.print(". Name: ");
Serial.print(name[row]);
Serial.print(" | Startbit: ");
Serial.print(startbit[row], DEC);
Serial.print(" | Length: ");
Serial.print(length[row], DEC);
Serial.print(" | Type: ");
Serial.print(type[row]);
Serial.print(" | Initial Value: ");
Serial.print(initial_value[row], DEC);
Serial.print(" | Factor: ");
Serial.print(factor[row], DEC);
Serial.print(" | Offset: ");
Serial.print(offset[row], DEC);
Serial.print(" | Minimum: ");
Serial.print(minimum[row], DEC);
Serial.print(" | Maximum: ");
Serial.print(maximum[row], DEC);
Serial.print(" | Unit: ");
Serial.print(unit[row]);
Serial.print(" | MessageID: ");
Serial.print(message_id[row], HEX);
Serial.println();
}
}
void loop() {
}