summaryrefslogtreecommitdiffstats
path: root/servers/fpga_server_lin/src/fpga_conn.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'servers/fpga_server_lin/src/fpga_conn.cpp')
-rw-r--r--servers/fpga_server_lin/src/fpga_conn.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/servers/fpga_server_lin/src/fpga_conn.cpp b/servers/fpga_server_lin/src/fpga_conn.cpp
index a20cad9..e17f134 100644
--- a/servers/fpga_server_lin/src/fpga_conn.cpp
+++ b/servers/fpga_server_lin/src/fpga_conn.cpp
@@ -369,6 +369,9 @@ void FPGASocket::commandLoop() {
if (m_stateImageRXCounter >= dsp_ram_size) {
m_stateImageRXRequested = false;
m_stateImageTXRequested = true;
+
+ // Start user processing
+ write_gpmc(0x0a, read_gpmc(0x0a) | 0x01);
}
}
else {
@@ -398,6 +401,16 @@ void FPGASocket::commandLoop() {
write_gpmc(0x05, buffer[read_offset+4]);
read_offset = read_offset + 6;
}
+ else if (buffer[read_offset+0] == 'R') {
+ write_gpmc(0x0c, read_gpmc(0x0c) | 0x01);
+ usleep(100);
+ write_gpmc(0x0c, read_gpmc(0x0c) & ~0x01);
+ read_offset = read_offset + 2;
+ }
+ else {
+ printf("[WARNING] Received invalid command '%c' from client! Dazed and confused, but continuing...\n", buffer[read_offset+0]);
+ read_offset = read_offset + 2;
+ }
}
if (m_stateImageTXRequested) {
m_stateImageTXRequested = false;