Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dim written
- dim result
- dim data
- dim data_len
- dim AC1, AC2, AC3, AC4, AC5, AC6
- dim B1, B2
- dim MB, MC, MD
- dim a
- dim x1, x2, t, B5
- dim MSB, LSB, UT
- dim T
- dim sensor(22)
- # Boot event listener
- event system_boot(major ,minor ,patch ,build ,ll_version ,protocol_version ,hw)
- #call hardware_set_soft_timer(1634, 1, 0)
- call gap_set_mode(gap_general_discoverable, gap_undirected_connectable)
- # This should be the timer for 1s 32768
- call hardware_set_soft_timer(16384,1,0)
- # call hardware_i2c_read(address,stop,length)(result,data_len,data_data)
- end
- # Disconnection event listener
- event connection_disconnected(connection, reason)
- call gap_set_mode(gap_general_discoverable, gap_undirected_connectable) # Start advertisement
- end
- #Timer event listener
- event hardware_soft_timer(handle)
- call hardware_i2c_read(238,0,"\xaa")(result,data_len,sensor(0:22))
- #AC5
- #call hardware_i2c_read(238,0,"\xb2")(result,data_len,sensor(8))
- #call hardware_i2c_read(238,0,"\xb3")(result,data_len,sensor(9))
- #AC6
- #call hardware_i2c_read(238,0,"\xb4")(result,data_len,sensor(10))
- #call hardware_i2c_read(238,0,"\xb5")(result,data_len,sensor(11))
- #MC
- #call hardware_i2c_read(238,0,"\xbc")(result,data_len,sensor(18))
- #call hardware_i2c_read(238,0,"\xbd")(result,data_len,sensor(19))
- #MD
- #call hardware_i2c_read(238,0,"\xbe")(result,data_len,sensor(20))
- #call hardware_i2c_read(238,0,"\xbf")(result,data_len,sensor(21))
- AC5 = (sensor(8) << 8| sensor(9))
- AC6 = (sensor(10) << 8 | sensor(11))
- MC = (sensor(18) << 8| sensor(19))
- MD = (sensor(20) << 8| sensor(21))
- # call hardware_i2c_write(address,stop,data_len, data_data)(written)
- call hardware_i2c_write(238,1,2,"\xf4\x2e")(written)
- ##delay
- a = 0
- while a < 500
- a = a + 1
- end while
- # API:
- # call hardware_i2c_write(address,stop,data_len, data_data)(written)
- # call hardware_i2c_read(address,stop,length)(result,data_len,data_data)
- # call attributes_write(handle, offset, value_len, value_data)(result)
- #0xEF 239 (read) and 0xEE 238 (write)
- # call hardware_i2c_read(address,stop,length)(result,data_len,data_data)
- call hardware_i2c_read(239,0,"\xf6")(result,data_len, MSB)
- call hardware_i2c_read(239,0,"\xf7")(result,data_len, LSB)
- UT = (MSB) << 8 | (LSB)
- x1 = (UT - AC6) * AC5 / (2*2*2*2*2*2*2*2*2*2*2*2*2*2*2)
- x2 = (MC * (2*2*2*2*2*2*2*2*2*2*2)) / (x1 + MD)
- B5 = x1 + x2
- T = ((B5 + 8) / (2*2*2*2))
- if T < 0
- T = 1111
- end if
- call attributes_write(Measurement,0,2,T)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement