mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/SPATZ.git
synced 2025-06-11 18:35:58 +00:00
Renamed ms5611 and added temperature sensor
This commit is contained in:
parent
d20d1b750b
commit
1b06db4152
@ -2,4 +2,5 @@ from spatz.sensors.sensor import Sensor
|
|||||||
from spatz.sensors.gps import GPS
|
from spatz.sensors.gps import GPS
|
||||||
from spatz.sensors.imu import Accelerometer, Gyroscope, IMU
|
from spatz.sensors.imu import Accelerometer, Gyroscope, IMU
|
||||||
from spatz.sensors.pressure import PressureSensor
|
from spatz.sensors.pressure import PressureSensor
|
||||||
|
from spatz.sensors.temperature import TemperatureSensor
|
||||||
from spatz.sensors.compound import CompoundSensor
|
from spatz.sensors.compound import CompoundSensor
|
@ -7,7 +7,7 @@ from spatz.logger import Logger
|
|||||||
from spatz.transforms import GaussianNoise, Transform, ProportionalGaussian
|
from spatz.transforms import GaussianNoise, Transform, ProportionalGaussian
|
||||||
|
|
||||||
|
|
||||||
class MS5611_01BA03(PressureSensor):
|
class MS5611(PressureSensor):
|
||||||
def __init__(self, dataset: Dataset, logger: Logger, transforms: List[Transform] = [], ts_effects=True):
|
def __init__(self, dataset: Dataset, logger: Logger, transforms: List[Transform] = [], ts_effects=True):
|
||||||
super().__init__(dataset, logger, transforms, ts_effects)
|
super().__init__(dataset, logger, transforms, ts_effects)
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ class MS5611_01BA03(PressureSensor):
|
|||||||
self.__noise = ProportionalGaussian(0, 0.0015)
|
self.__noise = ProportionalGaussian(0, 0.0015)
|
||||||
|
|
||||||
def _get_name(self) -> AnyStr:
|
def _get_name(self) -> AnyStr:
|
||||||
return 'MS5611_01BA03'
|
return 'MS5611'
|
||||||
|
|
||||||
def _sensor_specific_effects(self, x: ArrayLike | float) -> ArrayLike | float:
|
def _sensor_specific_effects(self, x: ArrayLike | float) -> ArrayLike | float:
|
||||||
t = self._dataset.get_time()
|
t = self._dataset.get_time()
|
||||||
@ -30,4 +30,4 @@ class MS5611_01BA03(PressureSensor):
|
|||||||
# Log the noise added to the pressure measurements.
|
# Log the noise added to the pressure measurements.
|
||||||
self._logger.write('noise', noisy - x, domain=self._get_name())
|
self._logger.write('noise', noisy - x, domain=self._get_name())
|
||||||
|
|
||||||
return noisy
|
return noisy
|
@ -38,11 +38,11 @@ class Sensor:
|
|||||||
@abstractmethod
|
@abstractmethod
|
||||||
def _sensor_specific_effects(self, x: ArrayLike | float) -> ArrayLike | float:
|
def _sensor_specific_effects(self, x: ArrayLike | float) -> ArrayLike | float:
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def _get_data(self) -> ArrayLike | float:
|
def _get_data(self) -> ArrayLike | float:
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
def get_init_data() -> ArrayLike:
|
def get_init_data() -> ArrayLike:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
25
spatz/sensors/temperature/ms5611.py
Normal file
25
spatz/sensors/temperature/ms5611.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
from numpy.typing import ArrayLike
|
||||||
|
from typing import List, AnyStr
|
||||||
|
|
||||||
|
from spatz.transforms.noise import GaussianNoise
|
||||||
|
from spatz.dataset import Dataset
|
||||||
|
from spatz.sensors import TemperatureSensor
|
||||||
|
from spatz.transforms import Transform
|
||||||
|
|
||||||
|
|
||||||
|
class MS5611Temperature(TemperatureSensor):
|
||||||
|
def __init__(self, dataset: Dataset, transforms: List[Transform] = ...):
|
||||||
|
super().__init__(dataset, transforms)
|
||||||
|
|
||||||
|
self.__noise = GaussianNoise(0, 0.5)
|
||||||
|
|
||||||
|
def _get_name(self) -> AnyStr:
|
||||||
|
return 'MS5611'
|
||||||
|
|
||||||
|
def _sensor_specific_effects(self, x: ArrayLike | float) -> ArrayLike | float:
|
||||||
|
t = self._dataset.get_time()
|
||||||
|
noisy = self.__noise(t, x)
|
||||||
|
|
||||||
|
self._log('temperature', noisy)
|
||||||
|
|
||||||
|
return noisy
|
@ -75,6 +75,15 @@ class Simulation:
|
|||||||
if verbose:
|
if verbose:
|
||||||
pbar.close()
|
pbar.close()
|
||||||
|
|
||||||
|
def advance_to(self, t: float):
|
||||||
|
t_old = self.__dataset.get_time()
|
||||||
|
self.__dataset.step(t - t_old)
|
||||||
|
self.__logger.step(t - t_old)
|
||||||
|
|
||||||
|
def advance(self, dt: float):
|
||||||
|
self.__dataset.step(dt)
|
||||||
|
self.__logger.step(dt)
|
||||||
|
|
||||||
def get_dataset(self) -> Dataset:
|
def get_dataset(self) -> Dataset:
|
||||||
return self.__dataset
|
return self.__dataset
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user