public string GetCalibrationAlpacaFormData()
        {
            //var InvC = new CultureInfo("");
            var offsets = new JsonCalibrationSettingsOffsets()
            {
                pressure    = cumulus.Calib.Press.Offset,
                temperature = cumulus.Calib.Temp.Offset,
                indoortemp  = cumulus.Calib.InTemp.Offset,
                humidity    = (int)cumulus.Calib.Hum.Offset,
                winddir     = (int)cumulus.Calib.WindDir.Offset,
                solar       = cumulus.Calib.Solar.Offset,
                uv          = cumulus.Calib.UV.Offset,
                wetbulb     = cumulus.Calib.WetBulb.Offset
            };
            var multipliers = new JsonCalibrationSettingsMultipliers()
            {
                pressure    = cumulus.Calib.Press.Mult,
                windspeed   = cumulus.Calib.WindSpeed.Mult,
                windgust    = cumulus.Calib.WindGust.Mult,
                humidity    = cumulus.Calib.Hum.Mult,
                outdoortemp = cumulus.Calib.Temp.Mult,
                rainfall    = cumulus.Calib.Rain.Mult,
                solar       = cumulus.Calib.Solar.Mult,
                uv          = cumulus.Calib.UV.Mult,
                wetbulb     = cumulus.Calib.WetBulb.Mult
            };

            var spikeremoval = new JsonCalibrationSettingsSpikeRemoval()
            {
                humidity      = cumulus.Spike.HumidityDiff,
                windgust      = cumulus.Spike.GustDiff,
                windspeed     = cumulus.Spike.WindDiff,
                outdoortemp   = cumulus.Spike.TempDiff,
                maxhourlyrain = cumulus.Spike.MaxHourlyRain,
                maxrainrate   = cumulus.Spike.MaxRainRate,
                pressure      = cumulus.Spike.PressDiff
            };

            var limits = new JsonCalibrationSettingsLimits()
            {
                temphigh  = cumulus.Limit.TempHigh,
                templow   = cumulus.Limit.TempLow,
                dewhigh   = cumulus.Limit.DewHigh,
                presshigh = cumulus.Limit.PressHigh,
                presslow  = cumulus.Limit.PressLow,
                windhigh  = cumulus.Limit.WindHigh
            };


            var data = new JsonCalibrationSettingsData()
            {
                offsets      = offsets,
                multipliers  = multipliers,
                spikeremoval = spikeremoval,
                limits       = limits,
                log          = cumulus.ErrorLogSpikeRemoval
            };

            return(data.ToJson());
        }
Beispiel #2
0
        public string GetAlpacaFormData()
        {
            var pressure = new JsonCalibrationSettingsPress()
            {
                offset     = cumulus.Calib.Press.Offset,
                multiplier = cumulus.Calib.Press.Mult,
                spike      = cumulus.Spike.PressDiff,
                limitmax   = cumulus.Limit.PressHigh,
                limitmin   = cumulus.Limit.PressLow
            };

            var temp = new JsonCalibrationSettingsTemp()
            {
                offset      = cumulus.Calib.Temp.Offset,
                multiplier  = cumulus.Calib.Temp.Mult,
                multiplier2 = cumulus.Calib.Temp.Mult2,
                spike       = cumulus.Spike.TempDiff,
                limitmax    = cumulus.Limit.TempHigh,
                limitmin    = cumulus.Limit.TempLow,
            };

            var tempin = new JsonCalibrationSettingsTempIn()
            {
                offset = cumulus.Calib.InTemp.Offset
            };

            var hum = new JsonCalibrationSettingsHum()
            {
                offset      = (int)cumulus.Calib.Hum.Offset,
                multiplier  = cumulus.Calib.Hum.Mult,
                multiplier2 = cumulus.Calib.Hum.Mult2,
                spike       = cumulus.Spike.HumidityDiff
            };

            var windspd = new JsonCalibrationSettingsWindSpd()
            {
                multiplier = cumulus.Calib.WindSpeed.Mult,
                spike      = cumulus.Spike.WindDiff
            };

            var gust = new JsonCalibrationSettingsGust()
            {
                multiplier = cumulus.Calib.WindGust.Mult,
                spike      = cumulus.Spike.GustDiff,
                limitmax   = cumulus.Limit.WindHigh
            };

            var winddir = new JsonCalibrationSettingsDir()
            {
                offset = (int)cumulus.Calib.WindDir.Offset
            };

            var rain = new JsonCalibrationSettingsRain()
            {
                multiplier = cumulus.Calib.Rain.Mult,
                spikehour  = cumulus.Spike.MaxHourlyRain,
                spikerate  = cumulus.Spike.MaxRainRate
            };

            var solar = new JsonCalibrationSettingsOffMult()
            {
                offset     = cumulus.Calib.Solar.Offset,
                multiplier = cumulus.Calib.Solar.Mult
            };

            var uv = new JsonCalibrationSettingsOffMult()
            {
                offset     = cumulus.Calib.UV.Offset,
                multiplier = cumulus.Calib.UV.Mult
            };

            var wetbulb = new JsonCalibrationSettingsOffMult()
            {
                offset     = cumulus.Calib.WetBulb.Offset,
                multiplier = cumulus.Calib.WetBulb.Mult
            };

            var dewpt = new JsonCalibrationSettingsDew()
            {
                limitmax = cumulus.Limit.DewHigh
            };

            var data = new JsonCalibrationSettingsData()
            {
                accessible = cumulus.ProgramOptions.EnableAccessibility,
                pressure   = pressure,
                temp       = temp,
                tempin     = tempin,
                hum        = hum,
                windspd    = windspd,
                gust       = gust,
                winddir    = winddir,
                rain       = rain,
                solar      = solar,
                uv         = uv,
                wetbulb    = wetbulb,
                dewpt      = dewpt
            };

            return(data.ToJson());
        }