These are all expensive cars, BMWs, Mercedes, Teslas, etc.
These are all expensive cars, BMWs, Mercedes, Teslas, etc.
I so hate this.. 2 streets from here The sidewalk has a bikelane, another small sidewalk and parking between itself and the road. Lot of parking spots on both sides.
No, still people living there, drive onto the sidewalk at the start, then drive to park in front of the house blocking the sidewalk.
This is control that does 'rapid' control first if the offset is > 0ppm. Then, after 1 hour, it goes to slower control with a 1 hour window and updates every 20minutes. It looks like I need to switch to a longer window/interval for the control later. Currently on chip I keep around 2 hours of data.
Doing it wrong can cause some very hard to find weird bugs that don't always appear. (depending on how your stack aligned)
If you then on top do not declare the function prototype, it will actually put the 64bit value on f.e. A1, A2. instead of what va_arg expect.. fun.
Learned the hard way: If you want va_arg with 64bit arguments on 32bit hw you need to make sure the top of the stack is 8byte aligned. GCC generates an alignment ptr = ((ptr+7)&-8); and then uses that to find the 2 32bit values on the stack. It will put 64bit arg. on A2&A3, A4&A5 slot in stack.
But given the count over an hour is 0-1 off, it is more then good enough for my use.
The shortness of these post make me not always explain it clearly, apologies. The pio sends it current count every 30 PPS rising edges to the host mcu. So we have 3 clocks involved, the PPS from the GPS, the PIO clock (@200MHz) and then the OCXO. Its very often that one is +1 and the next is -1.
On my OCXO I keep track of offsets in 30 seconds interval (PIO counts for 30 seconds). From this I can see that during an hour I have 12 blocks that have an 'offset' (6 +1, and 6 -1) .
Not sure if this is instability in my measuring or the OCXO.
Still very good and better then I have use for.
Slowly converging..
I should probably also display a longer running count.
This is one count off in an hour.
Once it all works, I want to add support for something like the si5351c and also use this setup to calibrate this.
Can't find a si5351c ready board to test with (only the a version). I rather test it before I make a PCB.
Drawing out the schematic on the board it seems perfect to make a window DAC. A MCP4725 @ 3.3V replacing the pot-meter gives us a control window of 1.95-2.31V (typo in previous post, the old range is 1.95-2.17V)
This seems to match perfectly.
Now running tests to slowly converge to a ~0ppb offset.
In my reference clock project we now can:
* accurate count the 10MHz clock
* Count against GPS PPS to get offset over longer period.
Next step is to 'tune' the OCXO based on the calculated offset.
The board uses a 204k pot-meter, allowing you to tune OCXO Vref between 1.96-2.32V.
Fun with SMD markings..
A divider, with 363 resistors, and 688 or is it 68B?
688 makes no sense.. but the last 8 looks more 8 then B, yet it was.
Took me an (embarrassing) while that some where in 3-eia others in eia-96..
hmm sorry I should have been more clear.
I modified the 'xtal' value I pass to the library, this then uses it to correct the calculations it does when configuring the chip for the right output frequency.
github.com/etherkit/Si5...
Its a different module from yesterday..
25 001 272
now hopefully safe to stop them from pulling off the bodge.
Using this lib i got it it pretty exact.. github.com/etherkit/Si5... by tuning xtal value.
Also added a bodge so we can set the VDDO output.
Tried your code.. Works thanks. (cleaner then the lib I found).
Got the same output, so I was not that far off.
I will admit, I have not dug very far into the datasheet to see what is the best way to set it up.
It is pretty close @10MHz.. It is very usable.
To point out, its the same brand (hantek) in exactly the same packaging. I cannot tell them apart.
In latest ALI haul, got a few SI5351 clock generators in. Not for myself, but to help somebody out (results will be published). They are easy to use, not accurate, but good enough.
Another thing in this haul was a bnc to banana plug cable, I bought one before locally, this was <1/3 the price.
I see mouser prices more then doubled for the esp32-c3-wroom modules.. luckely I stocked up on them :-/
yeah 1.69 here.. odd.
Sorry.. the esp32c3 super mini modules are cheap.. (forgot the most important part)
The esp32c3 you can get for around 1.69 euro (this is including vat).. Not sure how easily available they are everywhere..
esp-now is fun to play with for quick cheap communication without the need of a base station (and with some tweaking you can get decent distances with them).
I recommend skipping the esp8266 and going to the esp32c3 for 'new' projects. You get better peripherals on board, dirt cheap and the esp-idf sdk for the esp32c3 works really well.
Then later when you need more processing power/memory/etc, its easier to go to another esp32XX chip without rewrite.
I suspect it ran cons. this recently. Every 30s or so, it spend 25s read @ 56mbyte/s and writing. Turned out the sqlite3 db was not vacuumed correctly.. so I had a 99GB hosts.db-wal file and a hosts.db-shm that kept growing each time time by 100th of mbs.
Cleaned it up, seems better now.
hmm 'bug' in software, my opnsense router eaten through a large amount of data on the nvme...
Spare: 100%
Spare Th: 10%
% Used: 26%
Read: 140,971,432 [72.1 TB]
Written: 56,692,629 [29.0 TB]
In 23530 hours..
Another small alie haul..
For my gps conditioned 10MHz ref. clock, an active gps antenna. (I got two for 1/15th of the price of buying one local)
I also got some SMA connectors, cables and a bunch of wire with silicone sleeve.