private void ConnectPort(string PortName)
AskConfigData();
The string command doesn't need to be terminated, that is why it includes
the size (4 bytes for this cmd) to optimize interrupt mgmt. inside the PIC24
MCU.
Blank screen is a rare but known bug, fixed in v1.07 firmware. I would
suggest to upgrade to v1.07 and try again.
Thanks
Ariel Rocholl
> You are right, I didn't see that. Can you debug/check the "#[4]C0" string is
> what you are actually sending on? To minimize a potential RS232 sync
> problem, try also sending a larger string with garbage at the end such as
> "#[4]C0xxxxx". The "x" garbage will be ignored as goes beyond the 4 bytes
> size expected, but will help to fill it up the RS232 buffer and force a
> flush better.
Ok - no change. Too many XXX's does not matter - more #[4]C0's blank the device.
> The string command doesn't need to be terminated, that is why it includes
> the size (4 bytes for this cmd) to optimize interrupt mgmt. inside the PIC24
> MCU.
Good.
> Blank screen is a rare but known bug, fixed in v1.07 firmware. I would
> suggest to upgrade to v1.07 and try again.
Am at 1.07 7-sep-2011 - which blanks after some 4 to 16 #C0's.
Wondering if I should open up the device and tap the wires to the main CPU on the board to see what is passed really by windows and by me.
Dw
Got a step further
- Soldered 2 wires to the TTL of RX/TX (there where some nice VIA's ideal for this).
- And tapped those with a Logic (http://www.saleae.com/logic/). Resulting files
are https://pikmeer.webweaving.org/86a54f11d80e4182f7557a22296f6116ba8e2c30/.
You can download the visualizer for free at saleae.com - attach the async serial
decoder to trace 1 and 2 with 'auto baud'.
- Confirmed that the Windows PC version and my code are sending the exact
same string.
Results of this suggest that on firmware 1.06 and 1.07 both:
- Regardless of setting in the menu on the RFE - 2k4/500k (and even if they are
confirmed persisting over a on/off) - the device is in 500k.
-> PC app does not want to talk to it in 2k4 (trace 2400.logicdata shows no
return traffic).
-> While talking to it in 500k works (trace 500k.logicdata) even though screen
confirms 2400.
-> Toggling remote screen a few time causes a screen blanking when talking
proper 2400.
So my first issue seems to be - firmware 1.06 and 1.07 do not actually talk 2400 baud ? Could that be ?
Secondly - I found that MacOS and Linux cannot talk 500k with the default Silicon Lab drive. The cap seems to be B230400.
Would there be any way for you to check if 2400 can be made to work and/or if we can have 115k2 and 230k4 added ?
Thanks,
Dw
Found a more low level method in IOKit to bypass the limit on OSX. Not yet on linux. Now struggling with stability.
Dw
if ((sLine.Substring(0,2)=="$S") && (m_fStartFrequencyMHZ > 100.0))
{
if (!m_bHoldMode && m_nDataIndex < m_nTotalBufferSize)
{
for (int nInd = 0; nInd < m_nFreqSpectrumSteps; nInd++)
{
byte nVal = Convert.ToByte(sLine[2 + nInd]);
float fVal = nVal / -2.0f;
in the original code. But looking at the raw data - it seems that the first byte after the $S is always the same (112) -- while there are indeed
m_nFreqSpectrumSteps bytes following.
Now could it be that the format has changed since the PC code - and the value behind $S is in fact the length ?
Thanks,
Dw.


> I will publish a link on the website so people know. Is it limited to 2400bps so far or works at other baud rates?
Strangely enough - with your newer firmware it seems to work at 2400 and 500k. And reliably so - can run the LCD for hours without narly a glitch.
With the older version I am getting somewhat erratic results - including the CF-M v.s. CF-F (which is surprisingly consistent).
Do note though that the OSX drivers for the USB serial may not 'officially' support 500k. Not sure.
Dw
> >> Strangely enough - with your newer firmware it seems to work at 2400 and 500k. And reliably so - can run the LCD for hours without narly a glitch.
>
> That is surprising as the only change added was to enable a baudrate switch. I cannot possible see how that could resolve the weird C2-M / F stuff.
Ok - so in the end I resorted to soldering two wires to the TTL and using a Logic from saleae.com - so I could capture the data directly.
> Anyway, nice to know the new version worked, I will be making it public in a day or two.
Lovely!
Dw