Source code for sensirion_shdlc_svm41.commands.algorithm_states

# -*- coding: utf-8 -*-
# (c) Copyright 2021 Sensirion AG, Switzerland

##############################################################################
##############################################################################
#                 _____         _    _ _______ _____ ____  _   _
#                / ____|   /\  | |  | |__   __|_   _/ __ \| \ | |
#               | |       /  \ | |  | |  | |    | || |  | |  \| |
#               | |      / /\ \| |  | |  | |    | || |  | | . ` |
#               | |____ / ____ \ |__| |  | |   _| || |__| | |\  |
#                \_____/_/    \_\____/   |_|  |_____\____/|_| \_|
#
#     THIS FILE IS AUTOMATICALLY GENERATED AND MUST NOT BE EDITED MANUALLY!
#
# Generator:    sensirion-shdlc-interface-generator 0.9.0
# Product:      SVM41
# Version:      0.8.4
#
##############################################################################
##############################################################################

# flake8: noqa

from __future__ import absolute_import, division, print_function
from sensirion_shdlc_driver.command import ShdlcCommand
from struct import pack, unpack

import logging
log = logging.getLogger(__name__)


[docs]class Svm41CmdAlgorithmStatesBase(ShdlcCommand): """ SHDLC command 0x61: "Algorithm States". """
[docs] def __init__(self, *args, **kwargs): """ Constructor. """ super(Svm41CmdAlgorithmStatesBase, self).__init__( 0x61, *args, **kwargs)
[docs]class Svm41CmdGetVocState(Svm41CmdAlgorithmStatesBase): """ Get Voc State Command Gets the current VOC algorithm state. Retrieved values can be used to set the VOC algorithm state to resume operation after a short interruption, skipping initial learning phase. This command is only available during measurement mode. .. note:: This feature can only be used after at least 3 hours of continuous operation. """
[docs] def __init__(self): """ Constructor. """ super(Svm41CmdGetVocState, self).__init__( data=b"".join([bytes(bytearray([0x08]))]), max_response_time=0.05, post_processing_time=0.0, min_response_length=8, max_response_length=8 )
[docs] @staticmethod def interpret_response(data): """ :return: Current VOC algorithm state. :rtype: bytes """ state = bytes(data[0:8]) # bytearray<8> return state
[docs]class Svm41CmdSetVocState(Svm41CmdAlgorithmStatesBase): """ Set Voc State Command Set previously retrieved VOC algorithm state to resume operation after a short interruption, skipping initial learning phase. This command is only available in idle mode. .. note:: This feature should not be used after interruptions of more than 10 minutes. """
[docs] def __init__(self, state): """ Constructor. :param bytes state: Current VOC algorithm state. """ super(Svm41CmdSetVocState, self).__init__( data=b"".join([bytes(bytearray([0x88])), bytes(bytearray(state))]), max_response_time=0.05, post_processing_time=0.0, min_response_length=0, max_response_length=0 )