Topics

UBITX_CEC firmware upload and uBITX_Manager from a Mac #ubitx #radiuno #firmware

Tom, wb6b
 

Hi,

I've managed to get the CEC uBITX Memory Manager running and the uBITX_CEC firmware uploaded to my uBITX from my Mac.

uBITX Manager:

I have Microsoft Visual Studio Community (a free version) already install on my Mac, so Mono was already installed. When I first tried to run uBITX_Manager it crashed with the warning "The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all".

After a little Googling I found the solution was to run mono in the 32 bit mode with the following command:
mono --arch=32 uBITX_Manager.exe

The uBITX Manager UI runs painfully slow on the Mac. Scrolling is next to impossible. But, with patients it is useful. The buttons will be covered over often, but just hover the mouse over them to bring them back.

The manager crashed when connecting to the USB serial chip unless the "Linux" mode check box was checked.

Also, I already had the USB serial driver installed because I'd purchased a temperature logger from this company "Elitech" and the driver was included with their software. However, the Mac "Homebrew" installer now has an updated signed driver for the CH340 chip. I found this on Github: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver 

uBITX CEC Firmware Upload:

I decided the best way to upload the firmware was through the Arduino sketch IDE. I downloaded the firmware source code and compiled it. The only issue I had with comping the code was I named the base directory with the version number of the code as part of the name. The source code wants to be in a directory named ubitx_20. I installed this directory under the "~/Documents/Arduino/" directory where all my other sketches are located. I have a fair number of libraries already installed, so it is possible you may need to add a library here or there if the CEC uBITX firmware needs any other libraries.

Running the Firmware:

The firmware seems to be running just fine. I used the uBITX Manager to copy the memory values from my Radiuno and save them to a file. I'm particularly interested in using the CAT interface to control my uBITX from a Raspberry Pi.

This software and the fact that it exposes all the memory settings, may have already started to point to some of the mysteries involving my radio. I have noticed my receiver is about 100hz low on sideband signals. That is no big deal. However, it looks like my transmitter frequency is about 1khz low on CW. I can't quite wrap my head around the standard factory setup calibration method and if it could result in an unwanted difference in the transmit and receive frequency calibrations (or fix it). 

I wanted to try the IF shift to get a handle of where my radio may be operating in the 12Mhz crystal filter bandpass. Interestingly, tuning the IF shift up a kHz makes the received SSB signals much clearer. So, maybe my uBITX is out of calibration. 

There truly are a lot of numbers and such to digest in the uBITX Manager, but I'll read the posts (and the synthesizer chip's app notes) on how the calculations are done and then I'll know for sure when my radio is calibrated. At least now, rather than not quite knowing what the assumptions are in the factory calibration, I can directly experiment with the values to understand them and see what works. 

Tom, wb6b


Jack Purdum
 

Tom:

You probably already know this, but the Arduino IDE wants the compile directory name to be the same as the INO file that holds setup() and loop() functions, ubitx_20.ino in this case. During development, I change that to something like ubitxV001.ino, so I get a directory structure like:

   E://JackAl/Software/ubitxV001/ubitxV001.ino  

(I use my E: drive for development) and the rest of the project's files are in the same subdirectory. I also renamed any other files either *.cpp or *.h as needed and not *.ino except for the file with setup() and loop() functions. This allows me to have type checking across compile elements. Using some kind of naming convention means that project names can have some meaning.

Jack, W8TEE

On Monday, May 21, 2018, 5:03:06 AM EDT, Tom, wb6b <wb6b@...> wrote:


Hi,

I've managed to get the CEC uBITX Memory Manager running and the uBITX_CEC firmware uploaded to my uBITX from my Mac.

uBITX Manager:

I have Microsoft Visual Studio Community (a free version) already install on my Mac, so Mono was already installed. When I first tried to run uBITX_Manager it crashed with the warning "The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all".

After a little Googling I found the solution was to run mono in the 32 bit mode with the following command:
mono --arch=32 uBITX_Manager.exe

The uBITX Manager UI runs painfully slow on the Mac. Scrolling is next to impossible. But, with patients it is useful. The buttons will be covered over often, but just hover the mouse over them to bring them back.

The manager crashed when connecting to the USB serial chip unless the "Linux" mode check box was checked.

Also, I already had the USB serial driver installed because I'd purchased a temperature logger from this company "Elitech" and the driver was included with their software. However, the Mac "Homebrew" installer now has an updated signed driver for the CH340 chip. I found this on Github: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver 

uBITX CEC Firmware Upload:

I decided the best way to upload the firmware was through the Arduino sketch IDE. I downloaded the firmware source code and compiled it. The only issue I had with comping the code was I named the base directory with the version number of the code as part of the name. The source code wants to be in a directory named ubitx_20. I installed this directory under the "~/Documents/Arduino/" directory where all my other sketches are located. I have a fair number of libraries already installed, so it is possible you may need to add a library here or there if the CEC uBITX firmware needs any other libraries.

Running the Firmware:

The firmware seems to be running just fine. I used the uBITX Manager to copy the memory values from my Radiuno and save them to a file. I'm particularly interested in using the CAT interface to control my uBITX from a Raspberry Pi.

This software and the fact that it exposes all the memory settings, may have already started to point to some of the mysteries involving my radio. I have noticed my receiver is about 100hz low on sideband signals. That is no big deal. However, it looks like my transmitter frequency is about 1khz low on CW. I can't quite wrap my head around the standard factory setup calibration method and if it could result in an unwanted difference in the transmit and receive frequency calibrations (or fix it). 

I wanted to try the IF shift to get a handle of where my radio may be operating in the 12Mhz crystal filter bandpass. Interestingly, tuning the IF shift up a kHz makes the received SSB signals much clearer. So, maybe my uBITX is out of calibration. 

There truly are a lot of numbers and such to digest in the uBITX Manager, but I'll read the posts (and the synthesizer chip's app notes) on how the calculations are done and then I'll know for sure when my radio is calibrated. At least now, rather than not quite knowing what the assumptions are in the factory calibration, I can directly experiment with the values to understand them and see what works. 

Tom, wb6b


Bo Barry
 

On Mon, May 21, 2018 at 02:02 am, Tom, wb6b wrote:
Hi,

I've managed to get the CEC uBITX Memory Manager running and the uBITX_CEC firmware uploaded to my uBITX from my Mac.

uBITX Manager:

I have Microsoft Visual Studio Community (a free version) already install on my Mac, so Mono was already installed. When I first tried to run uBITX_Manager it crashed with the warning "The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all".

After a little Googling I found the solution was to run mono in the 32 bit mode with the following command:
mono --arch=32 uBITX_Manager.exe

The uBITX Manager UI runs painfully slow on the Mac. Scrolling is next to impossible. But, with patients it is useful. The buttons will be covered over often, but just hover the mouse over them to bring them back.

The manager crashed when connecting to the USB serial chip unless the "Linux" mode check box was checked.

Also, I already had the USB serial driver installed because I'd purchased a temperature logger from this company "Elitech" and the driver was included with their software. However, the Mac "Homebrew" installer now has an updated signed driver for the CH340 chip. I found this on Github: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver 

uBITX CEC Firmware Upload:

I decided the best way to upload the firmware was through the Arduino sketch IDE. I downloaded the firmware source code and compiled it. The only issue I had with comping the code was I named the base directory with the version number of the code as part of the name. The source code wants to be in a directory named ubitx_20. I installed this directory under the "~/Documents/Arduino/" directory where all my other sketches are located. I have a fair number of libraries already installed, so it is possible you may need to add a library here or there if the CEC uBITX firmware needs any other libraries.

Running the Firmware:

The firmware seems to be running just fine. I used the uBITX Manager to copy the memory values from my Radiuno and save them to a file. I'm particularly interested in using the CAT interface to control my uBITX from a Raspberry Pi.

This software and the fact that it exposes all the memory settings, may have already started to point to some of the mysteries involving my radio. I have noticed my receiver is about 100hz low on sideband signals. That is no big deal. However, it looks like my transmitter frequency is about 1khz low on CW. I can't quite wrap my head around the standard factory setup calibration method and if it could result in an unwanted difference in the transmit and receive frequency calibrations (or fix it). 

I wanted to try the IF shift to get a handle of where my radio may be operating in the 12Mhz crystal filter bandpass. Interestingly, tuning the IF shift up a kHz makes the received SSB signals much clearer. So, maybe my uBITX is out of calibration. 

There truly are a lot of numbers and such to digest in the uBITX Manager, but I'll read the posts (and the synthesizer chip's app notes) on how the calculations are done and then I'll know for sure when my radio is calibrated. At least now, rather than not quite knowing what the assumptions are in the factory calibration, I can directly experiment with the values to understand them and see what works. 

Tom, wb6b


Bo Barry
 

Whoops. I just posted info on the ubitx Raspberry pi setup. Working great after a long day of troubleshooting and cussing at Linux.  Nice setup.

Going to figure out the no computer required WSPR mode outlined in the CEC firmware. Bo W4GHV 

Tom, wb6b
 

Thanks Jack,

That is good information on the Arduino IDE file/directory naming convention. 

Tom, wb6b


On Mon, May 21, 2018 at 06:30 am, Jack Purdum wrote:
Arduino IDE

Ian Lee
 

Tom

I appreciate your effort.
I received a question about MAC from a number of users. But I did not have a MAC and it was difficult to test.
Your test has helped me a lot.

Thank you

Ian KD8CEC



2018-05-21 18:02 GMT+09:00 Tom, wb6b <wb6b@...>:

Hi,

I've managed to get the CEC uBITX Memory Manager running and the uBITX_CEC firmware uploaded to my uBITX from my Mac.

uBITX Manager:

I have Microsoft Visual Studio Community (a free version) already install on my Mac, so Mono was already installed. When I first tried to run uBITX_Manager it crashed with the warning "The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all".

After a little Googling I found the solution was to run mono in the 32 bit mode with the following command:
mono --arch=32 uBITX_Manager.exe

The uBITX Manager UI runs painfully slow on the Mac. Scrolling is next to impossible. But, with patients it is useful. The buttons will be covered over often, but just hover the mouse over them to bring them back.

The manager crashed when connecting to the USB serial chip unless the "Linux" mode check box was checked.

Also, I already had the USB serial driver installed because I'd purchased a temperature logger from this company "Elitech" and the driver was included with their software. However, the Mac "Homebrew" installer now has an updated signed driver for the CH340 chip. I found this on Github: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver 

uBITX CEC Firmware Upload:

I decided the best way to upload the firmware was through the Arduino sketch IDE. I downloaded the firmware source code and compiled it. The only issue I had with comping the code was I named the base directory with the version number of the code as part of the name. The source code wants to be in a directory named ubitx_20. I installed this directory under the "~/Documents/Arduino/" directory where all my other sketches are located. I have a fair number of libraries already installed, so it is possible you may need to add a library here or there if the CEC uBITX firmware needs any other libraries.

Running the Firmware:

The firmware seems to be running just fine. I used the uBITX Manager to copy the memory values from my Radiuno and save them to a file. I'm particularly interested in using the CAT interface to control my uBITX from a Raspberry Pi.

This software and the fact that it exposes all the memory settings, may have already started to point to some of the mysteries involving my radio. I have noticed my receiver is about 100hz low on sideband signals. That is no big deal. However, it looks like my transmitter frequency is about 1khz low on CW. I can't quite wrap my head around the standard factory setup calibration method and if it could result in an unwanted difference in the transmit and receive frequency calibrations (or fix it). 

I wanted to try the IF shift to get a handle of where my radio may be operating in the 12Mhz crystal filter bandpass. Interestingly, tuning the IF shift up a kHz makes the received SSB signals much clearer. So, maybe my uBITX is out of calibration. 

There truly are a lot of numbers and such to digest in the uBITX Manager, but I'll read the posts (and the synthesizer chip's app notes) on how the calculations are done and then I'll know for sure when my radio is calibrated. At least now, rather than not quite knowing what the assumptions are in the factory calibration, I can directly experiment with the values to understand them and see what works. 

Tom, wb6b




--
Best 73
KD8CEC / Ph.D ian lee
kd8cec@...
www.hamskey.com (my blog)

Tom, wb6b
 

I decided to install wine for macOS and give running uBITX_Manager a try, with wine. My test showed it works with possibly a few minor issues.

So, here is how to install wine:

First I needed to install XQuarts (XQuartz-2.7.11.dmg) from https://www.xquartz.org. I rebooted my machine after the install.

Next, I installed wine from here: https://dl.winehq.org/wine-builds/macosx/download.html.
I selected 'Installer for "Wine Stable" version 3.0.1' downloaded and installed it. I installed the optional 64 bit support and selected the install on a specific drive options.

You run wine by clicking on "Wine Stable" in the launcher or app directory. That launches a command line terminal with the environment set up for wine to run. To run the manager, cd to the directory you saved the manager in and run the following command: 

wine uBITX_Manager.exe

The layout is correct, no disappearing buttons and the scrolling works.

Well just one more thing-- most likely you will have no COM ports show up, to fix that (in the terminal that wine opened up) run the command:

wine regedit

You will get a lookalike of the Windows registry editor. Find the entry for "HKEY_LOCAL_MACHINE\Software\Wine\Ports" and select from "edit", "new", "string value".

(NOTE: Change these values to match your serial device and the com port you want it to be. But, in my case, this is what I used.)
Enter COM1 for the name and /dev/cu.wchusbserialfa130 for the data.

Now when you start the uBITX Manager you should be able to connect the the Raduino USB serial port on COM1.

There was a little bit of work around to connect without crashing. To connect to the port, check the Linux compatibility box then connect. After you connect uncheck the Linux compatibility box and select 36,000 baud. The uBITX Manager crashed occasionally when saving a file. But the check/uncheck the Linux compatibility box workaround seemed to fix the file save crashes, too.

As running under wine does have some hiccups, do some testing of your own before you completely trust it. If you find issues and solve them, please let us all know how you fixed it.

(And you welcome Ian, hope these Mac tests are helpful to folks)

Tom, wb6b