I’m running PiCorePlayer (Tiny Core Linux) on a RPi4 in an Argon V2 case. This is then connected to an external DAC via USB, pre-amp, and amplifier. The RPi is intended to stay running all the time - it’s one of many I have controlling whole-home audio throughout the house, but this one is the only one that needs IR control.
I also happen to have the little Argon IR remote. In order for the Argon remote to control the pre-amp’s volume, I’ve built a nice little IR-blaster out of an ESP32 microcontroller. It happily translates the Argon’s remote volume up/down commands and sends them as something the pre-amp IR understands.
The next step is to use the Argon remote’s power button to power on/off the amplifier. I programmed it the same way on the ESP32 and tried it out and the amp worked as expected: Imagine my surprise when my RPi turned off though…
Ultimately, I’d like to move all of this functionality to the RPi. However, the IR power commands seems irrevocably tied to the Argon V2 case’s power control. Alas, none of the Argon scripts work on PiCorePlayer installs, so I cannot even see how to configure it the normal way.
I’ve already read that there is a separate processor which watches the IR on the V2 case, controlled by i2c at address 0x1a. What I cannot seem to find is any information about how to control/program this without the Argon scripts. My final goal is to reroute the IR power sensing of the V2 case to a different GPIO output to toggle a relay on/off instead of a hard-shutdown of the RPi.
The MCU inside the Argon ONE will always try to interpret the IR power command, regardless of the operating system/script you are using.
I see 4 possibilities:
Physically cover the IR receiver
Unsolder the corresponding pin on the MCU/cut the line on the PCB if the IR receiver should be available for all other commands
Use a different remote control with a different IR protocol
Misuse the mechanism to reprogram the IR power command to a different button/remote control. You can do this once with PiOS and the Argon1 script. These settings are then non-volatile. Alternatively, you can use the I2C commands directly for reprogramming, but I don’t know what the risks are if it doesn’t correspond to a valid IR byte sequence. Need help understanding Argon One IR control - Seite 2 - General Support - LibreELEC Forum
Appreciate the response. By “misuse”, I assume you mean assign the MCU a different button than the one I want to use, then never use that particular button. That seems to be a reasonable solution without having to remove the rest of the functionality.
That’s my understanding now, so thank you for this information. I’m guessing the learned button in the MCU is written to non-volatile memory (EEPROM). I ask this just for clarification, because I’ll need to switch to a full RPi OS in order for the learning scripts to work…
Yes, this information will written to non-volatile memory (EEPROM).
When using the Argon script, the IR receiver is used to receive a button press from a remote control (regardless of which one, as long as it conforms to the NEC protocol, AFAIK) to calculate a 4-byte power sequence. This sequence is written to the EEPROM via I2C and remains there. Afterwards, only this programmed button switches the case on/off via IR. If you need at some time in the future the default, you need actively reprogram the power sequence value EEPROM.