Keyboard Shortcuts
Likes
- Xiegu-X6100
- Messages
Search
Re: Color modified v0.29.2 x6100_gui and sdcard.img
I've released a new sdcard.img with a new theme and Franco's no-code style customization was added as well. It's loosely based on the Simple theme. Download here:
?
?
Have a great weekend. |
Re: X6100 BASE firmware with compressor/noise gate
1.1.6 with compressor, increased 3 times FM modulation depth and 160 Hz low frequency filter.
Also, I created a branch for patching 1.1.6 in repo above. ?
I did only quick testing - looks like all working as expected, but feedback is appreciated.
--
Georgy // R2RFE |
Re: X6100 BASE firmware with compressor/noise gate
On Thu, Apr 10, 2025 at 11:44 AM, Georgy Dyuldin wrote:
I'm not sure about simple way to move 1.1.6 NR logic to 1.1.8Ah, bummer. 1.1.6 with your FM, 160, and Comp additions would be awesome also, but i understand if it can¡¯t be done or is too time consuming with all the other things you have going on. I just live in a high noise floor area and need NR enabled 99% of the time to pull weaker stations out cleanly. ?
Cheers |
Re: X6100 BASE firmware with compressor/noise gate
Very cool. I tested it out. Seemed to work ok in my brief testing. However i went back to 1.1.6 base as i dislike the 1.1.7 and 1.1.8 bases because their NR is horrible. The NR in 1.1.6 works and sounds fantastic. Using the others it sounds like everybody is "under water". Any way you could fix 1.1.8 to use 1.1.6¡¯s NR values?
?
Cheers |
Re: X6100 BASE firmware with compressor/noise gate
On Thu, Apr 10, 2025 at 04:19 PM, Daniel Baker wrote:
What¡¯s the easiest way to upgrade this? I do not want to ¡°brick¡± the radio in the process ? You need to copy this file to transceiver's file system and update with menu of OEM firmware. I described procedure here
Good luck!
--
Georgy // R2RFE |
Re: X6100 BASE firmware with compressor/noise gate
On Thu, Apr 10, 2025 at 03:34 PM, Franco Venturi wrote:
Yes. I created a project with stm32cubemx for target MCU, add offset to the .text section (file size + small gap for helper code) within LD script. Within this project I created 2 c functions - compressor and a function to initialize memory area (fill it with zeros). Also, I created a small ASM file with sections for jump instructions, some wrapper code (save/restore registers) and dummy sections for created functions. This asm was compiled and linked to correct address. Last step is just combine original file, compiled instructions and asm helper. To store compressor state - I move stack pointer at the start of the firmware.
I'll upload my code to the github. Firstly, I tried to make the same using STM32 black pill board - created simple firmware, created a new logic and move it to compiled bin firmware. Much safer, than experimenting on the transceiver) I'm not sure how to better share data from ghidra. for 1.1.8: 0x08024e62 - decimate tx audio (96 khz -> 12 khz) 008024e74, 0x08024e86 ?- apply bandpass filters then - depending on modulation I and Q signals creates.? --
Georgy // R2RFE |
Re: No-code styles customization for R1CBU/R2RFE firmware
On Thu, Apr 10, 2025 at 02:47 PM, W8ISM wrote:
With all the tariff nonsense, I can't see upgrading to a new transceiver any time soonYou can try to build an improved "analogue of X6100" TRX "Brass" - this is a completely open project. All schemes and firmware are open. You can stretch the assembly for some time, and it is not so painful financially (;
?
73! |
Re: X6100 BASE firmware with compressor/noise gate
¿ªÔÆÌåÓýGeorgy ¨C ? Many thanks for this implementation~! ? I¡¯m still running stock Xiegu firmware from a revision or two ago ¨C not the most recent version. What¡¯s the easiest way to upgrade this? I do not want to ¡°brick¡± the radio in the process ? ? Thanks & 73 ¨C ? Daniel ? ? ? From: [email protected] <[email protected]>
On Behalf Of Georgy Dyuldin via groups.io
Sent: Thursday, April 10, 2025 12:58 AM To: [email protected] Subject: [xiegu-x6100] X6100 BASE firmware with compressor/noise gate ? Hi. ? I added a compressor to the X6100 BASE firmware. This version also have extended to 160 Hz low bound of band pass filter and increased modulation level for FM. As far as OEM GUI application doesn't have an option to control compressor - it's enabled by default for USB/LSB/AM/FM (and disabled for digital modes and CW). I need to check, but I guess alternative GUI (R1CBU) will be able to control it with next version, at least on/off, but maybe also a compressor ratio. In the signal processing chain it's after applying microphone gain and before band pass filters and modulation. As far as it's contain a gate - it's might be useful to adjust mic level to match gate threshold: * Set mic gain to 20 * Switch to LSB/USB * Press PTT in a silent environment * Check, that there is no or very low signal on the spectrum/waterfall * Release PTT * Increase or decrease mic gain I have OEM microphone with replaced capsule (it requires ~30 mic gain) and microphone from X6200 (it requires ~ 16 mic gain). ? Some technical details: Compressor has 4:1 fixed compression ratio and 4:1 gate ratio. Attack time is 5ms, release - 300ms. Also, it contains a delay line for 5ms to prevent overloading on attack. Threshold level for gate and compressor configured to prevent increasing internal radio noise on pauses. ? Compressor code was written from scratch, I can share python/C sources, if it will be helpful for someone, let me know. -- Georgy // R2RFE |
Re: X6100 BASE firmware with compressor/noise gate
Georgy,
I am really amazed that you were able to change the base firmware of the X6100 to add a compressor!
I would really like to learn how you did it.
Did you compile your code for the STM32 separately as a new function, and then appended it at the end of Xiegu's firmware, and also modified some function pointers to call the new code?
If so, did you also figure out the function call sequence used to process the input from the microphone?
I am very interested in understanding the internals of the X6100 baseband firmware, and any information you would like to share would be very useful.
?
Thanks again for all your work on this radio and on the new X6200!
?
73,
Franco K4VZ |
Re: No-code styles customization for R1CBU/R2RFE firmware
On Thu, Apr 10, 2025 at 04:44 AM, Franco Venturi wrote:
I wrote this enhancement so people can share their ideas, what they tried, perhaps share their config files with others and just have fun doing it.This does not contradict. Nothing prevents you from implementing "simple config files" through Python scripts. Like here, for example https://github.com/strijar/brass_gui/blob/main/rootfs/usr/share/brass/python/gui_const.py Scripts have many advantages - you can change not only the appearance, but also modify/expand the functionality (for example, automatically change the color scheme depending on the time of day). The sooner you think about it, the easier it will be later. Especially since you do not need to implement from scratch. You can easily use my developments. ?
I am currently leading my project in the direction that it would be possible to create firmware for any Linux-based transceiver (working title OpenTRX). Separate the specifics of working with hardware and logic/GUI as much as possible. And Python scripts help a lot with this.
?
Another point. Python is a very popular language now. Finding a Python developer is much easier than embedded. Even if he is not a radio amateur, he can be very helpful in developing such a project.
73! |
Re: X6100 BASE firmware with compressor/noise gate
Disclaimer: this firmare is provided "as-is". In theory, it might not works as expected.
?
If something will be wrong:
On alternative GUI (R1CBU) - long press to lock button to reset BASE. Then you can reboot to OEM and flash another version. On OEM GUI - fastest way is got to FW upgrade menu and do an upgrade (don't forget to plug external power). Resetting BASE is a first step of FW upgrade procedure. ?
--
Georgy // R2RFE |
X6100 BASE firmware with compressor/noise gate
Hi.
?
I added a compressor to the X6100 BASE firmware. This version also have extended to 160 Hz low bound of band pass filter and increased modulation level for FM.
As far as OEM GUI application doesn't have an option to control compressor - it's enabled by default for USB/LSB/AM/FM (and disabled for digital modes and CW). I need to check, but I guess alternative GUI (R1CBU) will be able to control it with next version, at least on/off, but maybe also a compressor ratio.
In the signal processing chain it's after applying microphone gain and before band pass filters and modulation. As far as it's contain a gate - it's might be useful to adjust mic level to match gate threshold:
* Set mic gain to 20
* Switch to LSB/USB
* Press PTT in a silent environment
* Check, that there is no or very low signal on the spectrum/waterfall
* Release PTT
* Increase or decrease mic gain
I have OEM microphone with replaced capsule (it requires ~30 mic gain) and microphone from X6200 (it requires ~ 16 mic gain).
?
Some technical details:
Compressor has 4:1 fixed compression ratio and 4:1 gate ratio. Attack time is 5ms, release - 300ms. Also, it contains a delay line for 5ms to prevent overloading on attack. Threshold level for gate and compressor configured to prevent increasing internal radio noise on pauses.
?
Compressor code was written from scratch, I can share python/C sources, if it will be helpful for someone, let me know.
--
Georgy // R2RFE |
Re: No-code styles customization for R1CBU/R2RFE firmware
Oleg,
I really like what you did with the Brass TRX software and I saw that you even wrote your own Python bindings for LVGL and the Brass TRX functions. That's awesome work!
?
My goal is a little different; I would like for anyone to be able to customize the 'look-and-feel' of the X6100 GUI, even if they don't know how to write code.
This is why I thought the easiest thing would just to create a simple text file in the DATA dos partition, so that anyone can make changes with say notepad (or vi), and try them very quickly.
I hope this approach will open new opportunities to improve the X6100 from anyone who wants to give it a try.
I wrote this enhancement so people can share their ideas, what they tried, perhaps share their config files with others and just have fun doing it.
?
73,
Franco |
Re: No-code styles customization for R1CBU/R2RFE firmware
On Wed, Apr 9, 2025 at 07:54 AM, Franco Venturi wrote:
Very cool! Thanks.
?
I¡¯d also like to create a new ¡°full¡± custom theme, but i can¡¯t figure out how to extract the existing .bin images (like btn_dark.bin) so i can get their dimensions. I found an online image converter to create the .bin images from jpeg/png/etc however. Maybe the answer is right in front of my face and i¡¯m over looking it. Anybody have any ideas?
?
Cheers |