diff --git a/html/saraR4.html b/html/saraR4.html
index ea8b29d..119e190 100755
--- a/html/saraR4.html
+++ b/html/saraR4.html
@@ -1972,11 +1972,11 @@ async function selfTestSequence() {
}
} else if (sensor.type === 'noise') {
- // Noise sensor test
+ // NSRT MK4 noise sensor test (returns JSON)
const noiseResult = await new Promise((resolve, reject) => {
$.ajax({
url: 'launcher.php?type=noise',
- dataType: 'text',
+ dataType: 'json',
method: 'GET',
timeout: 15000,
success: function(data) { resolve(data); },
@@ -1984,18 +1984,17 @@ async function selfTestSequence() {
});
});
- selfTestReport.rawResponses['Noise Sensor'] = noiseResult;
- addSelfTestLog(`Noise response: ${noiseResult.trim()}`);
+ selfTestReport.rawResponses['Noise Sensor'] = JSON.stringify(noiseResult);
+ addSelfTestLog(`Noise response: ${JSON.stringify(noiseResult)}`);
- const noiseValue = parseFloat(noiseResult.trim());
- if (!isNaN(noiseValue) && noiseValue > 0) {
- updateTestStatus(sensor.id, 'Passed', `${noiseValue} dB`, 'bg-success');
- testsPassed++;
- } else if (noiseResult.trim() !== '') {
- updateTestStatus(sensor.id, 'Warning', `Unexpected value: ${noiseResult.trim()}`, 'bg-warning');
+ if (noiseResult.error) {
+ updateTestStatus(sensor.id, 'Failed', noiseResult.error, 'bg-danger');
testsFailed++;
+ } else if (noiseResult.LEQ > 0 && noiseResult.dBA > 0) {
+ updateTestStatus(sensor.id, 'Passed', `LEQ: ${noiseResult.LEQ} dB | dB(A): ${noiseResult.dBA}`, 'bg-success');
+ testsPassed++;
} else {
- updateTestStatus(sensor.id, 'Failed', 'No data received', 'bg-danger');
+ updateTestStatus(sensor.id, 'Warning', `Unexpected values: LEQ=${noiseResult.LEQ}, dBA=${noiseResult.dBA}`, 'bg-warning');
testsFailed++;
}