Skip to content
Snippets Groups Projects
Commit 0468313b authored by Kenneth Hiemstra's avatar Kenneth Hiemstra
Browse files

corrected scrap read

parent a7916aaf
No related branches found
No related tags found
No related merge requests found
...@@ -221,20 +221,19 @@ bool Periph_fpga::read_system_info(UCP *ucp, TermOutput& termout) ...@@ -221,20 +221,19 @@ bool Periph_fpga::read_system_info(UCP *ucp, TermOutput& termout)
uint32_t data; uint32_t data;
bool retval = Read(ucp, "mm/0/unb2b/system/info",0,1,&data); bool retval = Read(ucp, "mm/0/unb2b/system/info",0,1,&data);
std::string design_name = read_design_name(ucp); std::string design_name = read_design_name(ucp);
termout.strout << "design_name=" << design_name << ", "; termout.strout << design_name << ", ";
char str[1000];
// FIXME: get rid of magic constants in masks, should be in CCFG: // FIXME: get rid of magic constants in masks, should be in CCFG:
uint firmware_version = (data & 0x00F00000) >> 20; uint firmware_version = (data & 0x00F00000) >> 20;
uint firmware_subversion = (data & 0x000F0000) >> 16; uint firmware_subversion = (data & 0x000F0000) >> 16;
sprintf(str,"fw_version=%d.%d",firmware_version,firmware_subversion); termout.strout << str; termout.strout << firmware_version << "." << firmware_subversion;
if(design_name == my_expected_design_name && firmware_version >= my_expected_firmware_version) { if(design_name == my_expected_design_name && firmware_version >= my_expected_firmware_version) {
my_current_status = "online"; my_current_status = "online";
retval = true; retval = true;
} else { } else {
retval = false; retval = false;
termout.strout << "Unexpected design_name / firmware_version" << endl; termout.strerr << "Unexpected design_name / firmware_version" << endl;
cerr << "Warning: Node configuration mismatch!! (read_design_name/version=" << design_name cerr << "Warning: Node configuration mismatch!! (read_design_name/version=" << design_name
<< "/" << firmware_version << "), expected=" << my_expected_design_name << "/" << firmware_version << "), expected=" << my_expected_design_name
...@@ -269,14 +268,14 @@ bool Periph_fpga::read(UCP *ucp, TermOutput& termout, const std::string addr, ...@@ -269,14 +268,14 @@ bool Periph_fpga::read(UCP *ucp, TermOutput& termout, const std::string addr,
retval = read_system_info(ucp, termout); retval = read_system_info(ucp, termout);
} else if(addr == "fpga/name"){ } else if(addr == "fpga/name"){
string str = read_design_name(ucp); string str = read_design_name(ucp);
termout.strout << "read_design_name:" << str; termout.strout << str;
termout.datatype = format; termout.datatype = format;
strcpy(termout.valstr[0], str.c_str()); strcpy(termout.valstr[0], str.c_str());
retval = true; retval = true;
} else if(addr == "fpga/stamps") { } else if(addr == "fpga/stamps") {
retval = read_stamps(ucp, termout); retval = read_stamps(ucp, termout);
} else if(addr == "fpga/note") { } else if(addr == "fpga/note") {
termout.strout << "read_design_note:" << read_design_note(ucp); termout.strout << read_design_note(ucp);
retval = true; retval = true;
} else if(addr == "fpga/temp") { } else if(addr == "fpga/temp") {
retval = read_fpga_temperature(ucp, termout, format); retval = read_fpga_temperature(ucp, termout, format);
...@@ -478,13 +477,9 @@ bool Periph_fpga::read_stamps(UCP *ucp, TermOutput& termout) ...@@ -478,13 +477,9 @@ bool Periph_fpga::read_stamps(UCP *ucp, TermOutput& termout)
uint32_t nvalues = nof_regs; uint32_t nvalues = nof_regs;
uint32_t data[20]; uint32_t data[20];
memset((void *)data,0,20); memset((void *)data,0,20);
//uint32_t *data = new uint32_t[nvalues * sizeof(uint32_t)+1];
bool retval = Read(ucp, "mm/0/unb2b/system/info", 15, nvalues, data); bool retval = Read(ucp, "mm/0/unb2b/system/info", 15, nvalues, data);
termout.strout << " Stamp: date=" << data[0] << endl; termout.strout << "date=" << data[0] << " time=" << data[1] << " svn=" << data[2] << endl;
termout.strout << " Stamp: time=" << data[1] << endl;
termout.strout << " Stamp: svn=" << data[2] << endl;
//if(data != NULL) delete[] data;
return retval; return retval;
} }
...@@ -495,20 +490,17 @@ bool Periph_fpga::read_fpga_temperature(UCP *ucp, TermOutput& termout, int forma ...@@ -495,20 +490,17 @@ bool Periph_fpga::read_fpga_temperature(UCP *ucp, TermOutput& termout, int forma
uint32_t nvalues = 1; uint32_t nvalues = 1;
uint32_t data[20]; uint32_t data[20];
memset((void *)data,0,20); memset((void *)data,0,20);
//uint32_t *data = new uint32_t[nvalues * sizeof(uint32_t)];
retval = Read(ucp, "mm/0/unb2b/fpga/temp", 0, nvalues, data); retval = Read(ucp, "mm/0/unb2b/fpga/temp", 0, nvalues, data);
// ADC to engineering // ADC to engineering
// see the constants: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_alttemp_sense.pdf // see the constants: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_alttemp_sense.pdf
// page 10 // page 10
float temp = ((693. * (float)data[0]) / 1024.) - 265; float temp = ((693. * (float)data[0]) / 1024.) - 265;
char str[1000]; termout.strout << temp;
sprintf(str," FPGA temperature = %.02f [degC]\n", temp); termout.strout << str;
termout.valfloat[0] = temp; termout.valfloat[0] = temp;
termout.nof_vals = 1; termout.nof_vals = 1;
termout.datatype = format; termout.datatype = format;
my_current_temp = temp; my_current_temp = temp;
//if(data != NULL) delete[] data;
return retval; return retval;
} }
...@@ -522,16 +514,12 @@ bool Periph_fpga::read_fpga_scrap(UCP *ucp, TermOutput& termout, int format) ...@@ -522,16 +514,12 @@ bool Periph_fpga::read_fpga_scrap(UCP *ucp, TermOutput& termout, int format)
} }
retval = Read(ucp, "mm/0/unb2b/scrap_ram/data", 0, nvalues, (uint32_t *)termout.valint); retval = Read(ucp, "mm/0/unb2b/scrap_ram/data", 0, nvalues, (uint32_t *)termout.valint);
termout.nof_vals = nvalues; termout.nof_vals = nvalues;
termout.datatype = format;
// FIXME: remove
for(uint i=0; i<nvalues; i++) { for(uint i=0; i<nvalues; i++) {
termout.valint[i]=i; if(i>0) termout.strout << ",";
termout.strout << termout.valint[i];
} }
char str[1000];
sprintf(str," Scrap RAM[0] = %d\n", termout.valint[0]); termout.strout << str; // FIXME remove str
termout.datatype = format;
return retval; return retval;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment