On 08/28/2012 10:22 AM, Adam Barta wrote:
If you are running tcpborphserver2 on the roach then you can use the following commands to write and read from registers through the tcp interface on port 7147.

?wordwrite register-name word-offset payload
?write register-name register-offset payload
?wordread register-name word-offset length
?bulkread register-name [register-offset [byte-count]]
I'm familiar with that.  Thanks.
Is there a reason you would like to use the files?
Generally speaking, the ROACH is on a private network and the controller host is behind a firewall. Also, the network link can be pretty bad at times. 100 kbps or even as low as 50 kbps. That could be because I'm at home using DSL or because I'm using a Deep Space Network circuit at a time when some huge higher-priority data transfer is in progress. I can really cut down on the traffic is I use sshfs to mount the ROACH file system locally.
This seemed to work for me
root@192:/proc/389/hw/ioreg# cat sys_scratchpad | hd
00000000  12 34 56 78                                       |.4Vx|
00000004

root@192:/proc/389/hw/ioreg# echo -e \FF\FF > sys_scratchpad
root@192:/proc/389/hw/ioreg# cat sys_scratchpad | hd
00000000  46 46 46 46                                       |FFFF|
00000004
That works for me too. It tells me that the firmware is acting as it should. Thanks for the tip.
Hope this helps
Note quite there yet, though. Notice that what was stored are ASCII symbols. It isn't just because of a missing 'x':

root@roach1:/proc/1174/hw/ioreg# echo -e \01\00 > trig_adc0
root@roach1:/proc/1174/hw/ioreg# cat trig_adc0 | hd
00000000  30 31 30 30                                       |0100|
00000004
root@roach1:/proc/1174/hw/ioreg# echo -e \x01\x00 > trig_adc0
root@roach1:/proc/1174/hw/ioreg# cat trig_adc0 | hd
00000000  78 30 31 78                                       |x01x|
00000004

But this hangs:
root@roach1:/proc/1174/hw/ioreg# echo -e \\x01\\x00 > trig_adc0

Regards

Tom


Reply via email to