; *************************************************************************** ; copyright : (C) 2025 by Martin Preuss ; email : martin@libchipcard.de ; ; *************************************************************************** ; * This file is part of the project "AqHome". * ; * Please see toplevel file COPYING of that project for license details. * ; *************************************************************************** ; *************************************************************************** ; defines .equ SGP40_FLAGS_PRESENT_BIT = 7 .equ SGP40_FLAGS_DATAVALID_BIT = 6 .equ SGP40_CMD_MEASURE = 0x260f ; *************************************************************************** ; data .dseg sgp40DataBegin: sgp40Flags: .byte 1 sgp40LastValue: .byte 2 sgp40DataEnd: ; *************************************************************************** ; code .cseg ; --------------------------------------------------------------------------- ; SGP40_Init ; SGP40_Init: ldi xh, HIGH(sgp40DataBegin) ldi xl, LOW(sgp40DataBegin) clr r16 ldi r17, (sgp40DataEnd-sgp40DataBegin) rcall Utils_FillSram ; check presence rcall sgp40CheckPresence brcc SGP40_Init_error lds r16, sgp40Flags ori r16, (1<