[arm-allstar] Ardunio PLL programming GE MVS
Benjamin at KB9LFZ.com
Wed Jan 10 23:18:14 EST 2018
I like that idea of SSH programming radios, for those having non-
cellular Internet connection at their repeater sites, or where-ever.
The idea for this project is aimed to be, along with many other uses,
to enable programming of otherwise non-front-panel-programmable radios
with existing repeater controllers using DTMF.
Also, there are more than just Maxtracs, and GM300 that could be used
with this code. Presently, any radio with a PLL that follows the data
type set of the MC145158 or MC145159, can be used. The code will then
be allowed to branch out to other PLLs enabling the list of radios to
It will then be possible, with some hardware mods, to turn an old
analog bag phone into a 900MHz repeater. That's another project in the
works, haha. I've already figured out how the RF sections of the Nokia
made Radio Shack branded bag phones work.
Front panel programmable radios, should be in cars and home stations,
not at repeater sites, for a multitude of reasons.
The code for the GE MVS is here. I'm learning about git, so there will
be some bumps a long the way. So, you may have to do some digging
around my account.
as soon as I figure out git, I'll upload the original code published,
plus the Maxtrac PLL variation... As well as other code variations.
On Wed, 2018-01-10 at 02:10 -0500,
> In addition to what I mentioned in my email to you the hamvoip Pi
> programming could be left in place at some remote location and you
> actually program the radio remotely via ssh at will. This could all
> be run
> on one Pi running Allstar and programming simultaneously. You might
> that a try. It would give you complete control over the radio as you
> *73 Doug*
> *http://www.crompton.com/hamradio <http://www.crompton.com/hamradio>*
> On Tue, Jan 9, 2018 at 11:59 PM, "Benjamin Naber via arm-allstar" <
> arm-allstar at hamvoip.org> wrote:
> > For those of you who are knowledgeable in the code of Arduino:
> > I've begun a project that I jumped into the the *very* deep end,
> > while
> > knowing just barely how to swim.
> > I've managed to get the radio to tune to a frequency that I want,
> > but
> > very flaky at best when it comes to tuning well within the limits
> > of
> > thr VCO; the arduino freezes every now and then, and quite frankly
> > I am
> > not working with (cough, not understanding), the existing code.
> > In a nutshell, what I am doing is breaking the MC145159 control
> > lines
> > from the GE MVS CPU, and soldering in a few wires, plus a ground,
> > to
> > the base pins of the transistors that ulitamtely lead to the
> > CLK,ENB,
> > and DATA pins of the PLL.
> > The reason why I am doing this is to enable free tuning of the
> > radio
> > without the need to program the radio using normal computer
> > programming
> > methods, ie, a cable, and a special program that is hard to come
> > by, as
> > well as must run this program on older hardware
> > Given that Arduinos can be programmed from just about anything,
> > this
> > enabled on the fly on at least, on site programming of the radio. I
> > am
> > working towards enabling the use of these radios, and a couple
> > others
> > to be controlled by repeater controllers, and allstarlink nodes
> > using
> > kenwood data command set. Or whatever it is.
> > Boiled down, this will enable good, inexpensive priced commercial
> > radios to continue life; anyone who knows how to solder and program
> > an
> > Arduino can now use a commercial for a repeater VHF/UHF remote
> > base,
> > Allstarlink, IRLP, Echostink node radio, scanner, whatever.
> > With the significantly better RX fronts ends on these radios,
> > cleaner
> > TX, these will significantly outperform any chinese radio attached
> > to
> > any RoIP node.
> > ---------
> > Here is where I am stuck:
> > The MC145159 PLL wants the tuning data sent as follows:
> > 14 bits for R counter
> > 10 bits for N counter
> > 7 bits for A counter
> > 1 high bit for control.
> > Totaling 32 bits. The current code, posted immediately below does
> > not
> > seem to allow this:
> > emit_byte (0x14);
> > emit_byte (0x01);
> > /* Send "(n << 8)|(a << 1)", 24 bits, MSB first, LSB always zero */
> > //emit_byte (n >> 2);
> > emit_byte ((n >> 8 ) & 0xFF); /* N high byte */
> > emit_byte (n & 0xFF); /* N low byte */
> > //emit_byte (a & 0b1); // send only seven bits?
> > emit_byte (a << 1); /* A and LSB 0 */
> > //emit_byte (0x01 << 7); // send only one HIGH bit?
> > pulse_le(); /* Latch it */
> > the "//" are my futile attempts to work around this, and leave
> > commented out so I know what I *think* did not work.
> > I've also tried the following to form the four bytes being sent,
> > MSB of
> > each counter first, control bit last:
> > emit_byte ((r) & 0xFF); /* send first eight bits of r counter*/
> > emit_byte (((r & 0xFF) & n) & 0xFF); /* send last 6 bits of r
> > counter, then send first two bits of n counter */
> > emit_byte ((n & 0xFF) & 0xFF); /* send last eight bits of n
> > counter */
> > emit_byte (((a) & 0xFF) & 0x01 << 7); /* send seven bits for a
> > counter, and one HIGH bit for control bit */
> > What does work now to test to make sure this project is even
> > feasible:
> > in the void setup() section
> > ....
> > emit_byte (0b00101000); // first eight bits of R counter
> > emit_byte (0b00000001); // last 6 bits of R counter, first two
> > bits
> > of N counter
> > emit_byte (0b00110011); // last eight bits of N counter
> > emit_byte (0b10001001); // 7 bits for A counter, last control
> > bit
> > pulse_le();
> > .......
> > the above test code does work to successfully set the radio to 5
> > KHz
> > step, and program the N + A counters to 151.820MHz + 45MHz
> > Sorry it was long, However the more info you have to see what is
> > going
> > on, the less guessing you have to do.
> > ~Benjamin, KB9LFZ
> > _______________________________________________
> > arm-allstar mailing list
> > arm-allstar at hamvoip.org
> > http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar
> > Visit the BBB and RPi2/3 web page - http://hamvoip.org
> arm-allstar mailing list
> arm-allstar at hamvoip.org
> Visit the BBB and RPi2/3 web page - http://hamvoip.org
More information about the arm-allstar