Beautiful VFO Charlie. I especially like the variable cap and freq readout counter. What are you using for the main coil? Have you checked stability yet? (After the hot solder cools...) 73 Bill N2CQR
Hi Bill. The coil is an air core out of an old FT101. The form is made of ceramic which should be nice and thermally stable. As for stability, I'm really pleased with it. Once it's warmed up is still to be very good. I have not, however, gone out of my to offset pos and neg temp coeff components. Hand capacitance is not an issue too, which is great.
I have one of those old FT101 VFO assemblies. I removed the knob that came with it for another project, but still have the rest. The vfo has a diff trimm cap, and two fixed caps with neg and pos temp coefficient which could be used to set for zero drift over time.
Mr. Morris Why are you designating most of your variables as "volatile" even though you're not using interrupts or a multi-thread program structure that I can see in your "Final Arduino Code". I am a total beginner and was thinking about this and researching it for weeks and a few words from you to explain or a link to an explanation would be very much appreciated.
What I found is that VOLATILE is used to get all the threads the latest variable value simultaneously whenever it is updated by one thread. But you are not even using interrupts!!
Thank you, sir Now, I know that your methodology/thinking is "what works" and not what is optimum. There is another puzzling thing in your code that I failed to comprehend. You defined the encoder variables (encoderA, encoderB, and encoderC) as global variables (outside of any function) at the top as "unsigned int" and then redefined the first 2 locally inside the function "CheckEncoder" as "byte". Was that a mistake or were you intentionally doing some kind of overloading and the two sets of variables are totally different?
I am sorry if I'm asking about something you published a long time ago and very much appreciate your help.
I would say that is an error Vin. If the variable is only used in that function then is should be declared there. I'd have to check my more recent projects to see if i have corrected that.
This code/sketch that I'm talking about (and studying)is what you named "Final Arduino code" and came with a project you called "Simple SSB Rig" if that makes it easier. I attempted to copy-paste the whole listing here but there was a limit to the size of posting here (4,096 characters) for some reason.
Hello Charlie. I was wondering if you had a few minutes in the last couple of weeks to look at the code that I asked about (about the use of STATIC and VOLATILE). I am sorry for bothering you again ;)
No I have not sorry. I have quite a bit going on at the moment which is taking most of my time. As mentioned above, I use VOLATILE for variables and STATIC CONST for constants. I may have made an error in that regard in some of my software.
Beautiful VFO Charlie. I especially like the variable cap and freq readout counter. What are you using for the main coil? Have you checked stability yet? (After the hot solder cools...) 73 Bill N2CQR
ReplyDeleteHi Bill. The coil is an air core out of an old FT101. The form is made of ceramic which should be nice and thermally stable. As for stability, I'm really pleased with it. Once it's warmed up is still to be very good. I have not, however, gone out of my to offset pos and neg temp coeff components. Hand capacitance is not an issue too, which is great.
ReplyDeleteI have one of those old FT101 VFO assemblies. I removed the knob that came with it for another project, but still have the rest. The vfo has a diff trimm cap, and two fixed caps with neg and pos temp coefficient which could be used to set for zero drift over time.
ReplyDeleteI still have those. At the moment it is not too bad at all. Not perfect, but certainly usable.
DeleteInteresting. Thank you for sharing your progress. It is such an inspiration.
ReplyDeleteThanks. I have changed the detector to an infinite impedance one. I'll post that soon.
Delete
ReplyDeleteObrigado Oliveira. Eu também gostei de fazer isso. 73 Charlie
Mr. Morris
ReplyDeleteWhy are you designating most of your variables as "volatile" even though you're not using interrupts or a multi-thread program structure that I can see in your "Final Arduino Code". I am a total beginner and was thinking about this and researching it for weeks and a few words from you to explain or a link to an explanation would be very much appreciated.
What I found is that VOLATILE is used to get all the threads the latest variable value simultaneously whenever it is updated by one thread. But you are not even using interrupts!!
Vin
W3HU
73
HGi Vin. I tend to assign (right or wrong) 'volatile' to those variables that will change during runtime. Those that do not are assigned 'constant'.
ReplyDeleteThank you, sir
DeleteNow, I know that your methodology/thinking is "what works" and not what is optimum.
There is another puzzling thing in your code that I failed to comprehend. You defined the encoder variables (encoderA, encoderB, and encoderC) as global variables (outside of any function) at the top as "unsigned int" and then redefined the first 2 locally inside the function "CheckEncoder" as "byte". Was that a mistake or were you intentionally doing some kind of overloading and the two sets of variables are totally different?
I am sorry if I'm asking about something you published a long time ago and very much appreciate your help.
Vin
73
I would say that is an error Vin. If the variable is only used in that function then is should be declared there. I'd have to check my more recent projects to see if i have corrected that.
ReplyDeleteThis code/sketch that I'm talking about (and studying)is what you named "Final Arduino code" and came with a project you called "Simple SSB Rig" if that makes it easier. I attempted to copy-paste the whole listing here but there was a limit to the size of posting here (4,096 characters) for some reason.
DeleteHello Charlie. I was wondering if you had a few minutes in the last couple of weeks to look at the code that I asked about (about the use of STATIC and VOLATILE). I am sorry for bothering you again ;)
ReplyDeleteNo I have not sorry. I have quite a bit going on at the moment which is taking most of my time. As mentioned above, I use VOLATILE for variables and STATIC CONST for constants. I may have made an error in that regard in some of my software.
Delete