DeviceDS18B20

DS18B20 temperature sensor generic module

Ref.: Dallas Semiconductor DS18B20 datasheet

Const

FAMILY_CODE*     = 028X;
CMD_ALARMSEARCH* = 0ECX;
CMD_CONVERTTEMP* = 044X;

Types

DS18B20* = RECORD
        bus* : PtrBus;
    END;

Procedures

Init

Initialize driver

PROCEDURE Init* (VAR dev : DS18B20; VAR bus: BusOneWire.Bus);

DS18B20.Start

Start sensor temperature conversion for given sensor id or start conversion on all sensors on 1-wire bus if id is zero.

PROCEDURE (VAR this : DS18B20) Start*(id : UNSIGNED64): BOOLEAN;

DS18B20.Read

Read sensor temperature for given sensor id or assume only one sensor (SKIP_ROM command).

PROCEDURE (VAR this : DS18B20) Read*(id : UNSIGNED64; VAR value : REAL): BOOLEAN;

DS18B20.ReadResolution

Read sensor resolution for given sensor id or assume only one sensor (SKIP_ROM command).

PROCEDURE (VAR this : DS18B20) ReadResolution*(id : UNSIGNED64; VAR resolution : INTEGER): BOOLEAN;

DS18B20.WriteResolution

Write sensor resolution for given sensor id or assume only one sensor (SKIP_ROM command).

PROCEDURE (VAR this : DS18B20) WriteResolution*(id : UNSIGNED64; resolution : INTEGER): BOOLEAN;