armel / M5HamRadio

M5HamRadio Firmwares
112 stars 10 forks source link

Change Transverter bands #76

Open K7MDL2 opened 1 week ago

K7MDL2 commented 1 week ago

I got this running on a IC-905 using USB/Proxy method no problem. The 905 has some extra meters or changed meters (like voltage that changes for the microwave bands) but the common stuff seems to work the same OK.

A neat feature would be to change transverter bands with menu and/or touch and automatically adjust the offset per band, and send the calculated IF to the radio for each band. Some could be 144 IF, others 28 for example with resolution to the Hz level to account for crystal/TCXO errors between transverter LOs.

Along with such capability GPIO is used per band to switch antennas and transverters.

Last request is to add direct USB connection to the radio skipping the WiFI/Proxy need. M5Stack has a USB host module that could talk to the radio direct over USB serial. I have this working today on a Teensy 4. There are esp32 USB host examples but I have yet to find one for serial. Many for keyboards, mice, PS3 controllers.

Pictures attached are from my IC-905 on 23cm band, though a Windows 11 proxy, no python script changes required. Specifed COMx in place of the /dev/tty/xxx device name in the config files on the SD card.

20240702_034847 20240702_034541

armel commented 1 week ago

Hi Mike,

Thanks for your very interesting feedback. IC-705 and IC-905 share many CI-V commands. This explains why my developments work pretty well with the IC-905.

But, I don't feel able developing new things to improve the IC-905's support. It's too complicated, without having this transceiver in front of me. I don't have the money to acquire an IC-905. It's just a dream for me. But if Icom wants to offer me one, I'll take it and, of course, I could work to improve IC-905's support.

And about the direct USB connection, you're right, that would be great. But if you only knew how much time (nights...) I've spent trying to do it, without succeeding...

Thanks again for your feedback. I really appreciate it.

73'

Armel F4HWN.

K7MDL2 commented 1 week ago

The IC-905 has 2 serial ports on the USB C. CAT on ch 'A' and ch 'B' is configurable, I have it set for the GPS NMEA data to sync a PC clock with.

The 905 is connected to the M5 USB Host shield and the PC (Arduino IDE) is on the main USB. I just got the GPS data to print out. It is address 0x0A. Now to get address 0x41. The hub_demo correctly sees the 2 serial and 1 audio channels. Just have to figure out how to specify the one I want now. Using the CDC acm_terminal and hub_demo example programs.

Happy to post the code assuming I get this figured out. I really do not understand how this all works but making some headway.

Here is the data flowing from the 905 ch B.

rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0030,len:1344 load:0x40078000,len:13964 load:0x40080400,len:3600 entry 0x400805f0 Start ACM Init Addr:0A NC:01 Endpoint descriptor: Length: 07 Type: 05 Address: 83 Attributes: 03 MaxPktSize: 0010 Poll Intrv: 10 Endpoint descriptor: Length: 07 Type: 05 Address: 86 Attributes: 03 MaxPktSize: 0010 Poll Intrv: 10 Endpoint descriptor: Length: 07 Type: 05 Address: 01 Attributes: 02 MaxPktSize: 0040 Poll Intrv: 00 Endpoint descriptor: Length: 07 Type: 05 Address: 82 Attributes: 02 MaxPktSize: 0040 Poll Intrv: 00 Endpoint descriptor: Length: 07 Type: 05 Address: 04 Attributes: 02 MaxPktSize: 0040 Poll Intrv: 00 Endpoint descriptor: Length: 07 Type: 05 Address: 85 Attributes: 02 MaxPktSize: 0040 Poll Intrv: 00 Conf:01 ACM configured $GPGGA,134039.00,4746.9255,N,12201.9856,W,2,12,1.0,155.5,M,-18.2,M,,59 $GNGLL,4746.9255,N,12201.9856,W,134039.00,A,D64 $GNGSA,A,3,19,17,22,06,11,12,24,03,,,,,1.6,1.0,1.326 $GNGSA,A,3,86,88,76,87,,,,,,,,,1.6,1.0,1.328 $GPGSV,3,1,12,01,38,218,,03,09,032,29,06,60,093,45,11,45,169,357B $GPGSV,3,2,12,12,54,300,18,17,21,064,36,19,46,060,41,22,18,112,3171 $GPGSV,3,3,12,24,44,223,27,25,22,299,,32,07,311,00,48,35,184,3977 $GLGSV,3,1,09,69,04,315,,70,07,013,00,76,12,139,23,77,58,139,226E