mirror of
https://github.com/rstrouse/ESPSomfy-RTS.git
synced 2026-10-31 13:52:15 +01:00
fix: warn of radio pins that can stop the board booting (#34)
GPIO12 is a strapping pin on the original ESP32: high at reset, it powers the flash at 1.8 V. A CC1101 can hold GDO2 high at power-up, so a board with RX on 12 bootloops after a power cut until EN is pressed. It was the default RX pin. - RX defaults to GPIO35 on the original ESP32. Saved settings keep their pins. - The log warns each time the radio starts, and the radio settings show a warning, while TX, RX or MISO is on a pin whose level at reset can stop the chip booting (src/BootPins.h, data-src/js/pins.js). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
a92c7a26f6
commit
8a59f51111
10 changed files with 234 additions and 7 deletions
|
|
@ -1944,8 +1944,9 @@ class Somfy {
|
|||
this.loadPins('input', document.getElementById('selTransRXPin'));
|
||||
//this.loadSomfy();
|
||||
ui.toElement(document.getElementById('divTransceiverSettings'), {
|
||||
transceiver: { config: { proto: 0, SCKPin: 18, CSNPin: 5, MOSIPin: 23, MISOPin: 19, TXPin: 12, RXPin: 13, frequency: 433.42, rxBandwidth: 97.96, type: 56, deviation: 11.43, txPower: 10, enabled: false, noiseDetection: false } }
|
||||
transceiver: { config: { proto: 0, SCKPin: 18, CSNPin: 5, MOSIPin: 23, MISOPin: 19, TXPin: 13, RXPin: 35, frequency: 433.42, rxBandwidth: 97.96, type: 56, deviation: 11.43, txPower: 10, enabled: false, noiseDetection: false } }
|
||||
});
|
||||
this.checkBootPins();
|
||||
this.loadPins('out', document.getElementById('selShadeGPIOUp'));
|
||||
this.loadPins('out', document.getElementById('selShadeGPIODown'));
|
||||
this.loadPins('out', document.getElementById('selShadeGPIOMy'));
|
||||
|
|
@ -1969,8 +1970,18 @@ class Somfy {
|
|||
let config = ProtoViews.radio(proto.schema, radio);
|
||||
ui.toElement(document.getElementById('divTransceiverSettings'), { transceiver: { config: config } });
|
||||
document.getElementById('divRadioError').style.display = config.radioInit ? 'none' : '';
|
||||
this.checkBootPins();
|
||||
});
|
||||
}
|
||||
// Warns of radio pins that can stop the board booting (issue #34).
|
||||
checkBootPins() {
|
||||
let trans = ui.fromElement(document.getElementById('divTransceiverSettings')).transceiver;
|
||||
let chip = document.getElementById('divContainer').getAttribute('data-chipmodel') || '';
|
||||
let warnings = BootPins.radioWarnings(chip, trans.config);
|
||||
let div = document.getElementById('divRadioBootPins');
|
||||
div.innerText = warnings.join('\n');
|
||||
div.style.display = warnings.length > 0 ? '' : 'none';
|
||||
}
|
||||
saveRadio() {
|
||||
let valid = true;
|
||||
let getIntValue = (fld) => { return parseInt(document.getElementById(fld).value, 10); };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue