Thats what I was thinking I might try to do.
If I can figure out how the process works! I have an ST-link 2 coming soon so I should be working with the IDE verson and not your released binary.
You shouldn't feel bad about your criticism of the STM32 Blue Pill's USB setup. You are by no means the only person making those complaints, I have read them quite a few times now.
SO now I have two more BPs coming also in the mail so I will be a little more adventuresome. I am just quite cautious about damaging things sometimes.
Economists would call it "risk aversion".
I have to start thinking about which of my many wall warts, etc. I should use for the power supply. I think the $TRAINOCXO is meant to entrain the board to specific case environments and power supply conditions, so the more stable that is the better.
So what are folks feelings on case ventilation? Closed case with no ventilation holes seems to be common in commercial units.
My unit came shipped to me with some nice closed cell polyethelene foam that had a square hole the size of the oven already cut in it. So I trimmed that a bit and put a little top on it with scotch tape and tried putting it around the oven to see if it increased stability. It was hard for me to tell because right now I am not parsing the output in any way.
It is clear though that when I have my little desk fan going and the cardboard box my GPSDO is currently in is open the board seems to go out of lock more.
Antenna placement is still everything. When I am using an outdoor antenna (stuck in the middle of my back yard because that the best place for sky view) the GPSDO almost never goes out of lock. When the antenna is indoors, even next to the window (like it is now) every once in awhile it will lose lock and go into holdover and start counting seconds.
So any ability to adjust the gain might be helpful when the antenna is indoors.
So, just turned it on, after it being off for the night, it is starting to get much cooler here, fall weather and the ambient temperature was around 20 C even though its sitting in a sunny window area. I wonder if the scalingfactor also takes the ambient temperature into account? If it only has one temperature sensor I guess it really cannot, except at the very beginning of being on.
I've read elsewhere that the typical OCXO is influenced somewhat by both barometric pressure and humidity - more so than I had realized.
I recently ordered two barometric pressure sensors that also measure temperature and one that measures all three, temperature, pressure and humidity.
I would like to have some means of allowing all of the various parameters to be captured and recorded on my only always on computer, a Raspberry Pi. One way of doing it is by parsing a UART stream - console-like.. another way is by saving the data to a file in some delimited format and then grabbing it somehow at regular intervals.. that can also be done with HTTP and often thats the easiest way. (My old school means of doing it is by using any command line program that can accept and fetch a URL- encoding the parameters in the one line request. So thats a good excuse to give the GPSDO some basic network capabilities.. if its possible. (No security is needed as it would just be requesting a public web page) Any of dozens of methods just about would work.
Telling it about what to expect from small voltage shifts as far as frequency based on past performance under similar conditions is probably what the entrainment is all about.
I'm attaching a image I saved of a nice case implementation.. simple, seems to balance cost of case and size of display and LEDs well. This one uses an LCD.
Something even more informative in a small space could be done with a graphics OLED with icons or very small graphs.. perhaps..
Dont really need to know location as much as other parameters - but thats easy to change.
Quote from: pigrew on Yesterday at 23:17:38>
Quote from: cdev on Yesterday at 18:41:31I think the $TRAINOCXO may have significantly sped up my TP's time interval from power on/cold start to first attainment of GPS lock and 1pps.
I'm still getting occasional unlocked events, even after the OCXO tuning, anecdotally every five hours or so.
I've started playing with the $SETGAIN parameter. It seems to be in units of hundreths. Sending "$GAIN 95" will echo back with $GAIN 0.95. It seems like the gain can be set to both positive and negative values, and the values can be in the thousands. Setting too large (positive) of a value will cause a loss-of-lock (-10.00 or 10.00), and the tuning voltage will go haywire. Sending "$SETGAIN" will return a value, but I'm not convinced that it'll return the current value. I think that it'll just set the value to whatever happens to be in some memory location at that moment.
Setting the gain to be -1.00 does seem to make the system unstable (As I'd expect if it were a multiplier of the P in a PID controller).
I think gain is only applied when status=0.
I've also been seeing slight oscillations in the system response of the GPSDO. PPSDBG:4 (phase?) would always stick at around +4 or -4, and rarely settle on 0. I'm going to set my gain to 0.25, and see if I can maintain a lock all night.
I never found a way to set the SCALINGFACTOR to a value, it seems to only be settable via OCXO training, but the GAIN is likely multiplied by the SCALINGFACTOR, so that's good enough.
In other news, I found (and fixed) a bug in my display-controller causing the USB serial port to screw up. The controller is pretty stable now. It also shows the duration of the current lock. It's convenient that it automatically sends the $PROCEED and $PPSDBG commands when needed.
Quote from: cdev on Yesterday at 18:41:31Also, I like the Z3801A's LED layout (below)
Feel free to edit the display controller's code and do whichever setup you'd like. It'd be fairly easy to set GPIO ports based on the GPSDO state (unless you wanted more complicated logic?).