{"text_format":"3","workbook":"xlsx","n_sheets":2,"sheets":["UART - AT","I2C"],"read":"whole","date_system":"1900"}

{"sheet":"UART - AT","index":0,"n_rows":36,"n_cols":9,"rows_kept":36}
[]
[null,"Command name","Direction","Description","Value type","DEC/HEX","Value range","Default","Persistent memory"]
[{"$nulls":3},"STATUS"]
[null,"AT","r","No operation (NOP) - returns 'OK'","-","-","-","-","no"]
[null,"ATVERSW","r","Return the current software version number","STRING","DEC","<MAJOR.PATCH.BUILD>","-","no"]
[null,"ATVERHW","r","Returns the system hardware as a HEX value of the form PRDTx where P=PartID and R=ChipRevision and DT= DeviceType","UINT16","HEX","<0xPRDT>\nPR = 40\nDT = 41","0x4041","no"]
[null,"ATTEMP","r","Read the current device temperature in degrees Celsius","SINT8","DEC","Send three temperature values (Format: A, B, C)","-","no"]
[null,"ATDATA","r","Read all six raw values\n65535 means saturation","INT\nARRAY","DEC","R, S, T, U, V, W, G, H, I, J, K, L, A, B, C, D, E, F","-","no"]
[null,"ATCDATA","r","Read calibrated data.\nReturns comma-separated 32-bit floating point values.","FLOAT ARRAY","DEC","R, S, T, U, V, W, G, H, I, J, K, L, A, B, C, D, E, F\nIf any channel can't be calculated 'NaN' will printed instead of that","-","no"]
[{"$nulls":3},"CONTROL"]
[null,"ATINTTIME","r/w","Set sensor integration time. \nIntegration time = <value> * ~2.8msecs.","UINT8","DEC","1-255",20,"r"]
[null,"ATGAIN","r/w","Set sensor gain: 0=1X gain, 1=3.7X, 2=16X, 3=64X","UINT8","DEC","0-3",1,"r"]
[null,"ATINTRP","r/w","Enable/Disable Interrupt Pin, Default pin state: low (pin disabled) or high (pin enabled).\nGoes to low when new data are measured. Will be reset to high, if raw data or calibrated data were read","UINT8","DEC","0 - disable, 1 - enable Interrupt pin functionality",0,"no"]
[null,"ATTCSMD","r/w","Set measurement mode\n","UINT8","DEC","0: Captures bank0 (1 integration period)\n1: Captures bank1 (1 integration period)\n2: Captures bank0 + bank1 (2 integration period)\n3: Captures bank0 + bank1 in one shot mode (2 integration period)",2,"no"]
[null,"ATINTRVL","r/w","Set the sampling interval as an integer multiple of the\nIntegration time. The <value> is an integer between [1..255].\nA sampling interval=1 implies a sampling rate of 1x the\ncurrent integration time.\nA sampling interval=255 implies a slow sampling rate of\n255 times the current integration time.","UINT8","DEC","1-255",1,"no"]
[null,"ATBURST","r/w","Sends a number of calibrated data without separate requests\nsecond parameter for the burst mode is optionally\nformat: \nSend: ATBURST=10,0 or ATBURST=10\nRead: ATBURST => 10,0 OK","UINT8","DEC","BURST NUMBER:\n0 - Burst mode is deactivated\n1-254 - number of burst transfers\n255 - send unlimited bursts (stops with ATBURST=0)\n\nBURST MODE:\n0 - raw values (default, like ATDATA)\n1 - calibrated values (like ATCDATA)",0,"no"]
[null,"ATLED0","r/w","Enables or disables the indication led","UINT8","DEC","0 - LED off / 1 - LED on",1,"r"]
[null,"ATLED1","r/w","Enables or disables the driver led","UINT8","DEC","0 - LED off / 1 - LED on",0,"r"]
[null,"ATLED2","r/w","Enables or disables the indication led for first I2C slave","UINT8","DEC","0 - LED off / 1 - LED on",1,"no"]
[null,"ATLED3","r/w","Enables or disables the driver led for first I2C slave","UINT8","DEC","0 - LED off / 1 - LED on",0,"no"]
[null,"ATLED4","r/w","Enables or disables the indication led for second I2C slave","UINT8","DEC","0 - LED off / 1 - LED on",1,"no"]
[null,"ATLED5","r/w","Enables or disables the driver led for second I2C slave","UINT8","DEC","0 - LED off / 1 - LED on",0,"no"]
[null,"ATLEDC","r/w","Sets LED_IND and LED_DRV current","UINT8","HEX","[1..0] LED_IND: b00=1mA; b01=2mA; b10=4mA; b11=8mA\n[5..4] LED_DRV: b00=12.5mA; b01=25mA; b10=50mA; b11=100mA","0x00","r"]
[null,"ATLEDD","r/w","Sets LED_IND and LED_DRV current for first I2C slave","UINT8","HEX","[1..0] LED_IND: b00=1mA; b01=2mA; b10=4mA; b11=8mA\n[5..4] LED_DRV: b00=12.5mA; b01=25mA; b10=50mA; b11=100mA","0x00","no"]
[null,"ATLEDE","r/w","Sets LED_IND and LED_DRV current for second I2C slave","UINT8","HEX","[1..0] LED_IND: b00=1mA; b01=2mA; b10=4mA; b11=8mA\n[5..4] LED_DRV: b00=12.5mA; b01=25mA; b10=50mA; b11=100mA","0x00","no"]
[null,"ATFRST","w","Factory Reset. Stored values are reset to ‘Factory’ defaults.  Afterwards a software reset is started.","-","-","-","-","no"]
[null,"ATSRST","w","Software reset","-","-","-","-","no"]
[{"$nulls":3},"CALIBRATION VALUES"]
[null,"ATSCLx","r/w","Read/Write scalar for the raw values\nx = 0 .. 17","FLOAT","DEC","-","p2ram value","r/w"]
[{"$nulls":3},"FIRMWARE UPDATE"]
[null,"ATFWU","w","Starts firmware update process and transfer the bin file checksum ","-","-","-","-","no"]
[null,"ATFW","w","Download new firmware\nUp to 7 bytes of FW image at a time (14 hex bytes with no leading or trailing 0x)\nRepeat command till all 56Kbytes of firmware are downloaded","-","-","HEX STRING \n(without 0x), max 7 bytes","-","no"]
[null,"ATFWS","w","Tests the checksum on the non-active FW partition and, if correct, switches active partition. This is a toggle and can be used to toggle between the 2 FW partitions. Note: the first 5 bytes in page 0 are not touched. It is only a temporary switch and  must be used to check the new firmware whether the communication works!","-","-","-","-","no"]
[null,"ATFWL","w","This command locks the current firmware to starts on power cycles. It rewrites the first five bytes in page0!","-","-","-","-","no"]
[null,"ATFWC","r","This command gives information about the current firmware state","UINT8","HEX","Bit0 - checksum of non-active firmware OK\nBit1 - error occured\nBit2 - bank 1 active\nBit3 - not used\nBit4 - current firmware is locked\nBit5 - 56kBytes transferred\nBit6 - not used\nBit7 - Firmware update active","-","no"]
[null,"ATFWA","w","Only for backward compatibility to support old firmware update mechanism. Always returns with OK. Because of flash devices it is not possible to increment the address separatly (Page erase necessary!)","-","-","-","-","no"]

{"sheet":"I2C","index":1,"n_rows":88,"n_cols":7,"rows_kept":88}
[]
[null,"Command name","Address","Direction","Description","Value range","Default"]
[null,"HW_VERSION_H","0x00","r","Device type","-","0x40"]
[null,"HW_VERSION_L","0x01","r","HW version","-","0x41"]
[null,"FW_VERSION_H","0x02","r/w","Set register 0x02 or 0x03 to 1 - 3 to get each firmware positions high byte\n1: MAJOR version [15..8]\n2: PATCH version [15..8]\n3: BUILD version [15..8]\nOther write values set registers 0x02/0x03 to zero","-",0]
[null,"FW_VERSION_L","0x03","r/w","Set register 0x02 or 0x03 to 1 - 3 to get each firmware positions low byte\n1: MAJOR version [7..0]\n2: PATCH version [7..0]\n3: BUILD version [7..0]\nOther write values set registers 0x02/0x03 to zero","-",0]
[null,"CONFIGURATION","0x04","r/w","[7] SRST: [W] software reset [R] gain error\n[6] INT: [R/W] enable interrupt pin\n[5:4] GAIN: [R/W] gain configuration: b00=1x; b01=3.7x; b10=16x; b11=64x\n[3:2] BANK: [R/W] measurement mode:   b00=Mode 0: 4 channels\n                                      b01=Mode 1: 4 channels\n                                      b10=Mode 2: all 6 channels\n                                      b11=Mode 3: One-Shot operation of mode 2\n[1] DATA_RDY: [R] data ready to read\n[0] FRST: [W] factory reset","Mode 0: S, U, V, T, I, H, K, G, C, B, E, A\nMode 1: W, U, R, T, L, H, J, G, F, B, D, A","0x18/0x1A"]
[null,"INTEGRATION_TIME","0x05","r/w","Integration time","1-255\nReturn 0 - read error",20]
[null,"TEMPERATURE","0x06","r","Temperature of the device in °C\nRead value from every device in dependency of register DEV_SEL","-127-127\nReturn -128: means error","-"]
[null,"LED_CONFIG","0x07","r/w","[7] [R] READ_ERR: error while reading status\n[6] not used\n[5:4] LED_DRV current limit: b00=12.5mA; b01=25mA; b10=50mA; b11=100mA\n[3] Enable LED_DRV\n[2:1] LED_IND current limit: b00=1mA; b01=2mA; b10=4mA; b11=8mA\n[0] Enable LED_IND\nRead/Write value from every device in dependency of register DEV_SEL","-","0x01"]
[null,"RAW_VALUE_0_H","0x08","r","R or J or D (depends on register DEV_SEL)","0-65535","-"]
[null,"RAW_VALUE_0_L","0x09","r","-","-","-"]
[null,"RAW_VALUE_1_H","0x0A","r","S or I or C (depends on register DEV_SEL)","0-65535","-"]
[null,"RAW_VALUE_1_L","0x0B","r","-","-","-"]
[null,"RAW_VALUE_2_H","0x0C","r","T or G or A (depends on register DEV_SEL)","0-65535","-"]
[null,"RAW_VALUE_2_L","0x0D","r","-","-","-"]
[null,"RAW_VALUE_3_H","0x0E","r","U or H or B (depends on register DEV_SEL)","0-65535","-"]
[null,"RAW_VALUE_3_L","0x0F","r","-","-","-"]
[null,"RAW_VALUE_4_H","0x10","r","V or K or E (depends on register DEV_SEL)","0-65535","-"]
[null,"RAW_VALUE_4_L","0x11","r","-","-","-"]
[null,"RAW_VALUE_5_H","0x12","r","W or L or F (depends on register DEV_SEL)","0-65535","-"]
[null,"RAW_VALUE_5_L","0x13","r","-","-","-"]
[null,"CAL_CHAN0_0","0x14","r","Channel R|J|D Calibrated Data (float)","Decimal value\n0xFFFFFFFF - NaN (Error)"]
[null,"CAL_CHAN0_1","0x15","r","-","-","-"]
[null,"CAL_CHAN0_2","0x16","r","-","-","-"]
[null,"CAL_CHAN0_3","0x17","r","-","-","-"]
[null,"CAL_CHAN1_0","0x18","r","Channel S|I|C Calibrated Data (float)","Decimal value\n0xFFFFFFFF - NaN (Error)"]
[null,"CAL_CHAN1_1","0x19","r","-","-","-"]
[null,"CAL_CHAN1_2","0x1A","r","-","-","-"]
[null,"CAL_CHAN1_3","0x1B","r","-","-","-"]
[null,"CAL_CHAN2_0","0x1C","r","Channel T|G|A Calibrated Data (float)","Decimal value\n0xFFFFFFFF - NaN (Error)"]
[null,"CAL_CHAN2_1","0x1D","r","-","-","-"]
[null,"CAL_CHAN2_2","0x1E","r","-","-","-"]
[null,"CAL_CHAN2_3","0x1F","r","-","-","-"]
[null,"CAL_CHAN3_0","0x20","r","Channel U|H|B Calibrated Data (float)","Decimal value\n0xFFFFFFFF - NaN (Error)"]
[null,"CAL_CHAN3_1","0x21","r","-","-","-"]
[null,"CAL_CHAN3_2","0x22","r","-","-","-"]
[null,"CAL_CHAN3_3","0x23","r","-","-","-"]
[null,"CAL_CHAN4_0","0x24","r","Channel V|K|E Calibrated Data (float)","Decimal value\n0xFFFFFFFF - NaN (Error)"]
[null,"CAL_CHAN4_1","0x25","r","-","-","-"]
[null,"CAL_CHAN4_2","0x26","r","-","-","-"]
[null,"CAL_CHAN4_3","0x27","r","-","-","-"]
[null,"CAL_CHAN5_0","0x28","r","Channel W|L|F Calibrated Data (float)","Decimal value\n0xFFFFFFFF - NaN (Error)"]
[null,"CAL_CHAN5_1","0x29","r","-","-","-"]
[null,"CAL_CHAN5_2","0x2A","r","-","-","-"]
[null,"CAL_CHAN5_3","0x2B","r","-","-","-"]
[null,"not used","0x2C","-","-","-","-"]
[null,"not used","0x2D","-","-","-","-"]
[null,"not used","0x2E","-","-","-","-"]
[null,"not used","0x2F","-","-","-","-"]
[null,"not used","0x30","-","-","-","-"]
[null,"not used","0x31","-","-","-","-"]
[null,"not used","0x32","-","-","-","-"]
[null,"not used","0x33","-","-","-","-"]
[null,"not used","0x34","-","-","-","-"]
[null,"not used","0x35","-","-","-","-"]
[null,"not used","0x36","-","-","-","-"]
[null,"not used","0x37","-","-","-","-"]
[null,"not used","0x38","-","-","-","-"]
[null,"not used","0x39","-","-","-","-"]
[null,"not used","0x3A","-","-","-","-"]
[null,"not used","0x3B","-","-","-","-"]
[null,"not used","0x3C","-","-","-","-"]
[null,"not used","0x3D","-","-","-","-"]
[null,"not used","0x3E","-","-","-","-"]
[null,"not used","0x3F","-","-","-","-"]
[null,"not used","0x40","-","-","-","-"]
[null,"not used","0x41","-","-","-","-"]
[null,"not used","0x42","-","-","-","-"]
[null,"not used","0x43","-","-","-","-"]
[null,"not used","0x44","-","-","-","-"]
[null,"not used","0x45","-","-","-","-"]
[null,"not used","0x46","-","-","-","-"]
[null,"not used","0x47","-","-","-","-"]
[null,"FW_CNTRL","0x48","r/w","[7] START [R/W]: set bit once to configure the device for firmware update\n[6] STOP [W]: Reset firmware update state machine\n[5] BYTES_TRANSFERED [R]: all 56kBytes are transferred\n[4] LOCK [R/W]: Lock this firmware for next start\n[3] SWITCH [W]: Switch between both firmware\n[2] BANK1 [R]: Set if bank 1 is active, else bank 2\n[1] ERROR [R]: error occured while firmware update\n[0] CHKSUM [R]: Checksum of other bank is valid"]
[null,"FW_BYTE_COUNT_H","0x49","r","Byte counter of transferred image","0-57344",0]
[null,"FW_BYTE_COUNT_L","0x4A","r","-","-","-"]
[null,"FW_PAYLOAD","0x4B","r/w","Transfer of the firmware byte","-",0]
[null,"not used","0x4C","-","-","-","-"]
[null,"not used","0x4D","-","-","-","-"]
[null,"not used","0x4E","-","-","-","-"]
[null,"DEV_SEL","0x4F","r/w","Switch between the different devices.\nThis registers will be switched: 0x06: TEMPERATURE \n                                 0x07: LED_CONFIG\n                                 0x08 - 0x13: RAW_VAL\n                                 0x14 - 0x2B: CAL_CHAN","[1..0] [R/W] 0x00: select master data\n             0x01: select first slave data\n             0x02: select second slave data\n[5] [R] second slave available\n[4] [R] first slave available","0x00"]
[null,"COEF_DATA_0","0x50","r/w","Data heap to read and write calibration data","-","-"]
[null,"COEF_DATA_1","0x51","r/w","-","-","-"]
[null,"COEF_DATA_2","0x52","r/w","-","-","-"]
[null,"COEF_DATA_3","0x53","r/w","-","-","-"]
[null,"COEF_READ","0x54","r/w","Set sub addresses to read different calibration data from COEF_DATA register","0-17 for every scalar \nValue out of range: 0xFFFFFFFF - NaN (Error)"]
[null,"COEF_WRITE","0x55","r/w","Set sub addresses to write different calibration data from COEF_DATA register to persistent memory","See register 0x54"]