Hi,

Attached is a patch for adding settings to the VX-8. Also attached are image files for each model. Thanks to Ray and Rob for supplying images for the VX-8GR and VX-8DR.
All tests against each of the three models are successful and now include Settings.

Note that there are now three distinct VX-8 models in the pull-down menu for Yaesu. I couldn't get things to work simply using VARIANT but perhaps I'm missing something (Chirp noob).
Perhaps also there was already an issue with the VARIANT mechanism in the current driver. With the current driver, when I would download from my stock VX-8R, I would get traceback errors
and then a blank Settings menu even though _has_settings was False for the base VX8Radio class. It was obvious that the VX8DRadio class functions were getting called even though
the radio was a stock VX-8R (AH029). The only way I could get this behaviour to stop was to delete the VARIANT and change each radio MODEL from VX-8 to VX-8R, VX-8DR, and VX-8GE
respectively.

The patch is somewhat lengthy due to the fact that I promoted most of the VX8DRadio class functions to the VX8Radio base class. This left the VX8DRadio class with just functions that were
somewhat different for the VX-8DR and VX-8GE (e.g. _get_aprs_tx_settings) or unique to the VX-8DR and VX-8GE (e.g. _get_aprs_smartbeacon).

Hopefully, I haven't introduced any PEP-8 violations..PyCharm is pretty good at yelling at me about those. Please review and feel free to toss the whole thing if it's felt that I'm off base
on this approach.

73's,

Keith
KF7DRV

On Sun, Jun 4, 2017 at 4:39 PM, Keith Williamson <hkwilliamson@gmail.com> wrote:
Hi Ray,

Yes, I would love to have a VX-8GR image also!

Thanks,

Keith

On Sun, Jun 4, 2017 at 3:01 PM, ray c <rayslinky@gmail.com> wrote:
FWIW, my VX-8GR identifies as AH041. I did a factory reset and took an image of it. It's not a DR, but I'd be happy to send it to you.

ray
AC1BC

On Sun, Jun 4, 2017 at 4:59 PM, Keith Williamson via chirp_devel <chirp_devel@intrepid.danplanet.com> wrote:
Hi,

I think I figured out the "chirp" method for dealing with differing memory layouts between radios withing the same driver. 

I split the aprs struct into a shorter aprs struct, followed by a aprs_msg_macro[%d] struct, and an aprs2 struct. I prepended both the aprs_msg_macro[%d] struct and the aprs2 struct with "#seekto 0x%04X;" I then computed the beginning address of the aprs_msg_macro[%d] struct and added the starting address and number of message macros to the _mem_params for both the VX8Radio and VX8DRadio classes. I also computed the beginning address of the aprs2 struct and added those to the _mem_params for both radio classes. 

I've tested these changes with my VX-8R and the test image Yaesu_VX-8_R.img. This leads to a quandry. 

Reading back through the archived messages from around 2013, I see that when the Settings support was added for the VX-8DR, the conclusion at the time was that Settings would not be supported for the stock VX-8R due to lack of a radio to test with. It was felt that most everyone would have sent their VX-8R's in for the Yaesu upgrade that added the enhanced memory and APRS support of the VX-8DR. Unfortunately, I was asleep at the switch and was unaware of that opportunity until it was no longer offered. I would have jumped on that given that APRS was one of my major drivers for buying the VX-8R in the first place. Bummer..would have definitely liked to have smart beaconing. Anyway, inspecting the Yaesu_VX-8_R.img memory, I see that it is an AH029 that appears to have come from Dan who I remember from the archives had gotten his upgraded through the Yaesu program. So, apparently, the upgrade didn't result in a change to the _model for the radio. 

Does anybody know of a way to disambiguate between a stock VX-8R and an upgraded one? I need to be able to support upgraded VX-8R's as VX-8DR's. 

Can anyone supply an image for a true VX-8DR so that I can test that my code changes for the VX8DRadio class?

Thanks in advance!

73's,

Keith
KF7DRV




On Fri, Jun 2, 2017 at 6:16 PM, Keith Williamson <hkwilliamson@gmail.com> wrote:
Hi,

I'm trying to add support for Settings for the original VX-8R. I just recently have been switching over to chirp for all of my radios and was surprised to find that the Settings tab was empty after downloading from my VX-8R. After a few modifications to the vx8.py driver, I have settings coming up properly for my radio but have doubtless broken support for the VX-8DR. 

The VX8-DR has expanded APRS features such as SmartBeaconing, more Message Macros, more DigiPaths, etc. These affect the memory layout some. To fix it (temporarily), I corrected the memory layout to align with the VX-8R and commented out the calls that referenced the now missing memory elements. 

I'd like to contribute the changes back but I'm not sure how to handle support for both the VX-8R and VX-8DR (and VX-8GER). With differences in memory layout, should the VX-8R have a separate driver or can the memory layout differences be somehow accommodated within the same driver?

73's,

Keith
KF7DRV



_______________________________________________
chirp_devel mailing list
chirp_devel@intrepid.danplanet.com
http://intrepid.danplanet.com/mailman/listinfo/chirp_devel
Developer docs: http://chirp.danplanet.com/projects/chirp/wiki/Developers