OPEnSLab-OSU / Loom

Arduino library for Internet of Things Rapid Prototyping in environmental sensing
GNU General Public License v3.0
26 stars 3 forks source link

*Question* What is "Oversampling"? #202

Closed udellc closed 2 years ago

udellc commented 2 years ago

I see in the Loom3 Serial monitor printout some standard output for SmartRock, but I see something strange I'd like explained. Here is original printout with the unexplained output broken out below: Initialized Serial!

= = = = = Parse Config = = = = =

Config Pretty Version: { "general": { "name": "SMv3b", "instance": 33 }, "components": [ { "name": "ADS1115", "params": "default" }, { "name": "SD", "params": [ true, 1000, 10, "data", true ] }, { "name": "DS3231", "params": [ 10, true, true ] }, { "name": "InterruptManager", "params": "default" }, { "name": "SleepManager", "params": [ true, false, 1 ] }, { "name": "MS5803", "params": [ 119 ] } ] } SIZE: 731 = = = = = Generate Objects = = = = =

[SMv3b] Adding Module: ADS1115 [SD] Using filename: data070.csv [SD] Initialize sucessful [SMv3b] Adding Module: SD [DS3231] Current Time (before possible reset) [DS3231] Time: 2022/6/21 0:54:38 [DS3231] Time: 2022/6/21 0:54:38 [DS3231] Clearing DS3231 alarms [SMv3b] Adding Module: DS3231 [SMv3b] Adding Module: InterruptManager [SMv3b] Adding Module: SleepManager Oversampling setting: 512 C0 = 136 C1 = 37792 C2 = 34813 C3 = 24229 C4 = 23504 C5 = 35067 C6 = 28338 C7 = 58688 p_crc: 64 n_crc: 0 [MS5803_0] Initialize sucessful [SMv3b] Adding Module: MS5803_0 = = = = = = = = = = = = = = = = =

[SMv3b] Config: Device Name : SMv3b Instance Number : 33 Device Type : Node Interval : 1000 [SMv3b] Modules: [+] ADS1115 [+] SD [+] DS3231 [+] InterruptManager [+] SleepManager [+] MS5803_0 File is good { "seconds": 20, "minutes": 0, "hours": 0, "days": 0 }[InterruptManager] Registering ISR on pin 12 to be triggered on 0 and is immediate

Setup Complete [SMv3b] Json: { "type": "data", "id": { "name": "SMv3b", "instance": 33 }, "contents": [ { "module": "Packet", "data": { "Number": 1 } }, { "module": "ADS1115", "data": { "analog0": 13595, "analog1": 774, "analog2": 3147, "analog3": 3152 } }, { "module": "LocalTime", "data": { "Date": "2022/06/20", "Time": "17:54:38", "TimeZone": "PDT" } }, { "module": "MS5803_0", "data": { "pressure": 1015.57, "temp": 23.01 } } ], "timestamp": { "date": "2022/06/21", "time": "00:54:38" } } [SD] Writing to: data070.csv [SD] Done writing to SD [InterruptManager] Will set alarm for : 2022/6/21 0:54:58

Entering STANDBY

==================

What is this? Oversampling setting: 512 C0 = 136 C1 = 37792 C2 = 34813 C3 = 24229 C4 = 23504 C5 = 35067 C6 = 28338 C7 = 58688 p_crc: 64 n_crc: 0

udellc commented 2 years ago

This is from the MS5803 standard library MS5803_02.cpp code. Function to check the CRC value