This is a derivation of the usbsoftrock project hosted at code.google.com/p/softrock.
The source was pulled from the svn repository there on 2012-02-26.
The principle changes would have been three new commands, but they turn out to be impossible with the current softrock firmware:
set registers <reg0> <reg1> <reg2> <reg3> <reg4> <reg5>
- a command for directly setting the Si570 registers. that doesn’t appear to work.
solutions
- print the set of register values that tune the currently tuned frequency. that doesn’t find the exact current register values among the set.
tweak
- get the current tuning registers, compute the frequency, and set the
registers to the next solution that tunes the same frequency.
Well, almost, the frequency tends to edge upwards for reasons as yet unknown.
Other changes involved refactoring the functions that compute register values from frequencies and frequencies from register values, so these computations would all use the same logic.
This project turns out to be impossible because the current pe0fko firmware translates incoming register settings into frequency, assuming that the sender is using an uncalibrated Si570 crystal frequency, and then translates the frequency into a new set of register settings. So it’s impossible to directly program the Si570 using the pe0fko firmware. Hence it’s impossible to experiment with spur reduction by moving the Si570 to an alternate register setting.