Skip to content
Snippets Groups Projects
Commit 37e3dadd authored by Pieter Donker's avatar Pieter Donker
Browse files

Merge branch 'L2SDP-366' into 'master'

Resolve L2SDP-366 - Added CP for Spectral Inversion

Closes L2SDP-366

See merge request !30
parents 9e46b545 40a3afba
No related branches found
No related tags found
1 merge request!30Resolve L2SDP-366 - Added CP for Spectral Inversion
......@@ -161,6 +161,9 @@ Fpga::Fpga(list<class Node*>& nodelist, const int32_t n_beamsets):
pointMap->add_register("FPGA_signal_input_data_buffer_R", "fpga/signal_input_data_buffer", nodes.size(), C_S_pn*C_V_si_db, "RO", REG_FORMAT_INT16);
pointMap->add_register("FPGA_signal_input_histogram_R", "fpga/signal_input_histogram", nodes.size(), C_S_pn*C_V_si_histogram, "RO", REG_FORMAT_UINT32);
pointMap->add_register("FPGA_subband_spectral_inversion_R", "fpga/subband_spectral_inversion", nodes.size(), 1, "RO", REG_FORMAT_BOOLEAN);
pointMap->add_register("FPGA_subband_spectral_inversion_RW", "fpga/subband_spectral_inversion", nodes.size(), 1, "RW", REG_FORMAT_BOOLEAN);
}
Fpga::~Fpga()
......
......@@ -338,6 +338,9 @@ bool Periph_fpga::read(TermOutput& termout, const string addr,
else if (addr == "fpga/signal_input_histogram") {
retval = read_all_from_port(termout, "RAM_ST_HISTOGRAM", "data", format);
}
else if (addr == "fpga/subband_spectral_inversion") {
retval = read_all_from_port(termout, "REG_SI", "enable", format);
}
else {
throw runtime_error("address " + addr + " not found!");
}
......@@ -515,6 +518,9 @@ bool Periph_fpga::write(TermOutput& termout, const string addr, const string typ
else if (addr == "fpga/subband_weights") {
retval = write_subband_weights(data);
}
else if (addr == "fpga/subband_spectral_inversion") {
retval = write_subband_spectral_inversion(data);
}
else {
throw runtime_error("address " + addr + " not found!");
}
......@@ -2268,3 +2274,11 @@ CMMap Periph_fpga::read_reg_map()
return mmap_to_regmap(iss_regmap);
}
bool Periph_fpga::write_subband_spectral_inversion(const char *data)
{
uint32_t _data[1];
_data[0] = (uint32_t)data[0];
return Write("mm/0/REG_SI/0/enable", _data);
}
......@@ -179,6 +179,8 @@ private:
bool read_all_from_port(TermOutput& termout, const std::string& port_name, const std::string& field_name, const int format);
bool write_subband_spectral_inversion(const char *data);
CMMap read_reg_map();
public:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment