Compare commits

...

10 commits

Author SHA1 Message Date
Tyeth Gundry
275f2ad231 Add auto config false at device config level + PCF8563 2025-08-12 15:25:20 +01:00
Tyeth Gundry
a7e86c6dce Fix unselecting SD CS pin 2025-08-11 19:38:55 +01:00
Tyeth Gundry
95dde05983 Remove TODOs 2025-08-11 17:22:43 +01:00
Tyeth Gundry
e73b76b2a0 Rebuild assets 2025-08-11 14:04:47 +01:00
Tyeth Gundry
bd4a8334e9 Fix conversion script for degree symbol etc 2025-08-11 14:03:25 +01:00
Tyeth Gundry
bdf646a292 Rebuild latest assets 2025-08-11 13:54:04 +01:00
Tyeth Gundry
53ebefa372 Improve log message if companion SD CS mismatch 2025-08-11 13:52:04 +01:00
Tyeth Gundry
260ebb9a14 Update boards to include xiao sd cs pin 2025-08-11 13:51:55 +01:00
Tyeth Gundry
4f6db35af4 Add XIAO camera/SD addon board to index.html 2025-08-11 13:51:55 +01:00
Tyeth Gundry
2132f4a147 Update definition for S3sense camera addon board 2025-08-11 13:48:53 +01:00
9 changed files with 8525 additions and 8436 deletions

@ -1 +1 @@
Subproject commit d571b81eab7ea616efaafc4c7d82c5bd53802a6f
Subproject commit 07c6667a1d21e1b2561db2a73d8da23f04504546

View file

@ -268,12 +268,12 @@ def convert_components_to_json():
# Write the consolidated JSON file
with open(OUTPUT_FILE, 'w') as f:
json.dump({"components": components}, f, indent=2)
json.dump({"components": components}, f, ensure_ascii=False, indent=2)
# Write the consolidated JS file
with open(OUTPUT_FILE.replace('.json', '.js'), 'w') as f:
f.write("window.jsonComponentsObject = ")
json.dump({"components": components}, f, indent=2)
json.dump({"components": components}, f, ensure_ascii=False, indent=2)
f.write(";\n")
print(f"Successfully created {OUTPUT_FILE}")

View file

@ -1,4 +1,4 @@
// Auto-generated on 2025-08-11 00:22:56
// Auto-generated on 2025-08-11 14:04:12
const FIRMWARE_DATA = {
"releaseInfo": {
"version": "1.0.0-offline-beta.3",

View file

@ -314,6 +314,7 @@
<option value="microsd-bff">Adafruit microSD Card BFF Add-On for QT Py and Xiao</option>
<option value="winc1500-shield">Adafruit WINC1500 WiFi Shield</option>
<option value="airlift-shield">Adafruit AirLift Shield - ESP32 WiFi Co-Processor</option>
<option value="seeed-xiao-s3sense-camera-addon">Seeed Studio XIAO ESP32S3 Sense Camera/SD Add-on board</option>
<option value="seeed-xiao-ssd1306-expansion-base">Seeed Studio XIAO Expansion base board</option>
</select>
@ -358,6 +359,7 @@
<select id="rtc-select">
<option value="soft">Software RTC</option>
<option value="PCF8523">PCF8523</option>
<option value="PCF8563">PCF8563</option>
<option value="DS3231">DS3231</option>
<option value="DS1307">DS1307</option>
</select>
@ -508,7 +510,7 @@
<div id="generate-section" class="section hidden">
<h2>7. Generate Configuration</h2>
<button id="generate-config-btn">Generate Configuration</button>
<input type="checkbox" id="use-auto-init" onchange="javascript:appState.enableautoConfig=this.checked;"> <label for="use-auto-init" title="Auto config fallback for I2C sensors that fail to initialise (selects alternative sensors at same address)">Use Auto Init fallback</label>
<input type="checkbox" id="use-auto-init" onchange="javascript:appState.enableautoConfig=this.checked;"> <label for="use-auto-init" title="Auto config fallback for I2C sensors that fail to initialise (selects alternative sensors at same address)">Use Auto Init fallback for failed or unspecified components (default)</label>
<div id="config-output-container" class="hidden">
<h3>Configuration JSON:</h3>
<pre id="config-output" class="config-output"></pre>

View file

@ -128,12 +128,12 @@ const companionBoardConfigs = {
image: 'https://cdn-shop.adafruit.com/640x480/4285-05.jpg'
},
'seeed-xiao-s3sense-camera-addon': {
rtc: 'PCF8563',
sdCardCS: 'D2',
extras: 'SD Card, Camera, Extra GPIOs D11+D12',
productURL: 'https://www.seeedstudio.com/Seeeduino-XIAO-Expansion-board-p-4746.html',
documentationURL: 'https://wiki.seeedstudio.com/Seeeduino-XIAO-Expansion-Board/',
image: 'https://files.seeedstudio.com/wiki/Seeeduino-XIAO-Expansion-Board/Update_pic/zheng1.jpg'
rtc: null,
sdCardCS: 21,
extras: 'SD Card, Camera, Microphone, Extra GPIOs D11+D12',
productURL: 'https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html',
documentationURL: 'https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/',
image: 'https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/img/66.jpg'
},
'seeed-xiao-ssd1306-expansion-base': {
rtc: 'PCF8563',
@ -381,7 +381,7 @@ document.addEventListener('DOMContentLoaded', function() {
// Mark SD CS pin as used
appState.usedPins.add(pin.number);
} else {
console.warn(`SD card CS pin ${companion.sdCardCS} not found in selected board pins.`);
console.warn(`[${companionId}] SD card CS pin ${companion.sdCardCS} not found in selected board pins.`);
document.getElementById('sd-missing').classList.remove('hidden');
document.getElementById('sd-present').classList.add('hidden');
}
@ -453,8 +453,12 @@ document.addEventListener('DOMContentLoaded', function() {
document.getElementById('sd-card-pin-select').classList.remove('hidden');
} else {
document.getElementById('sd-card-pin-select').classList.add('hidden');
appState.usedPins.delete(appState.sdCardCS);
document.getElementById('manual-sd-cs-pin').textContent = '';
document.getElementById('sd-cs-pin').textContent = '';
appState.sdCardCS = null;
}
populatePinsLists();
});
// RTC type selection handler
@ -1331,8 +1335,6 @@ function showComponentConfigModal(component, type) {
</select>
</div>
`;
// TODO: Tyeth/Brent - Add GPS properties here if needed, or below in datatypes
}
// Data type selection
@ -1840,8 +1842,6 @@ function updateSelectedComponentsList() {
} else if (component.componentAPI === 'uart') {
detailsText += `<br>TX Pin: ${component.pinTx}, RX Pin: ${component.pinRx}`;
// TODO: Tyeth/Brent - Add GPS properties here if needed, or override sensorTypes
// Show sensor types
if (component.sensorTypes && component.sensorTypes.length > 0) {
detailsText += '<br>Data types: ';
@ -1952,7 +1952,8 @@ function generateConfiguration() {
referenceVoltage: appState.selectedBoard.referenceVoltage,
totalGPIOPins: appState.selectedBoard.totalGPIOPins,
totalAnalogPins: appState.selectedBoard.totalAnalogPins,
statusLEDBrightness: appState.statusLEDBrightness
statusLEDBrightness: appState.statusLEDBrightness,
autoConfig: appState.enableautoConfig
},
components: []
};

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff