Skip to content

Instantly share code, notes, and snippets.

@lupyuen
Created July 18, 2022 03:50
Show Gist options
  • Save lupyuen/97358b560197d26304fc196ceb45565a to your computer and use it in GitHub Desktop.
Save lupyuen/97358b560197d26304fc196ceb45565a to your computer and use it in GitHub Desktop.
Zig Sensor App for Apache NuttX RTOS: Run Log. See https://github.com/lupyuen/visual-zig-nuttx
gpio_pin_register: Registering /dev/gpio0
gpio_pin_register: Registering /dev/gpio1
gpint_enable: Disable the interrupt
gpio_pin_register: Registering /dev/gpio2
bl602_gpio_set_intmod: ****gpio_pin=115, int_ctlmod=1, int_trgmod=0
bl602_spi_setfrequency: frequency=400000, actual=0
bl602_spi_setbits: nbits=8
bl602_spi_setmode: mode=0
spi_test_driver_register: devpath=/dev/spitest0, spidev=0
bl602_spi_select: devid: 0, CS: free
bme280_register: devno=0
bme280_register: priv=0x4201b4b0, sensor_baro=0x4201b4b0, sensor_humi=0x4201b4cc
bl602_i2c_transfer: subflag=1ddr=0xd0, sublen=1
bl602_i2c_recvdata: count=1, temp=0x60
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xd0, size=1, buf[0]=0x60
bme280_chip_init: ID OK
bme280_reg_write: reg=0xe0, val=0xb6
bl602_i2c_transfer: subflgg=1, subaddr=0xb6e0, sublen=2
bl602_i2c_recvdata: count=1, temp=0x0
bl602_i2c_transfer: i2c transfer success
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x0
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x00
bl602_i2c_transfer: subflag=1, subaddr=0x88, sublen=1
bl602_i2c_recvdata: count=24, temp=0x67366e56
bl602_i2c_recvdata: count=20, temp=0x8f370032
bl602_i2c_recvdata: count=16, temp=0xbd0d63f
bl602_i2c_recvdata: count=12, temp=0xffa41a4e
bl602_i2c_recvdata: count=8, temp=0x26acfff9
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0x88, size=24
bl602_i2c_transfer: subflag=1, subaddr=0xa1, sublen=1
bl602_i2c_recvdata: count=1, temp=0x10bdd84b
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xa1, size=1, buf[0]=0x4b
bl602_i2c_transfer: subflag=1, subaddr=0xe1, sublen=1
bl602_i2c_recvdata: count=7, temp=0x1300016e
bl602_i2c_recvdata: count=3, temp=0x131e0006
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xe1, size=7
bme280_reg_write: reg=0xf2, val=0x05
bl602_i2c_transfer: subflag=1, subaddr=0x5f2, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0005
bl602_i2c_transfer: i2c transfer success
bme280_reg_write: reg=0xf4, val=0x57
bl602_i2c_transfer: subflag=1, subaddr=0x57f4, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0057
bl602_i2c_transfer: i2c transfer success
bme280_reg_write: reg=0xf5, val=0xa8
bl602_i2c_transfer: subflag=1, subaddr=0xa8f5, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e00a8
bl602_i2c_transfer: i2c transfer success
bme280_chip_init: "BME280" OK
bme280_reg_write: reg=0xf4, val=0x54
bl602_i2c_transfer: subflag=1, subaddr=0x54f4, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0054
bl602_i2c_transfer: i2c transfer success
sensor_custom_register: Registering /dev/sensor/baro0
sensor_custom_register: Registering /dev/sensor/humi0
bme280_register: BME280 driver loaded successfully!
NuttShell (NSH) NuttX-10.3.0
nsh> sensortest
Zig Sensor Test
sensortest [arguments...] <command>
[-h ] sensortest commands help
[-i <val>] The output data period of sensor in us
default: 1000000
[-b <val>] The maximum report latency of sensor in us
default: 0
[-n <val>] The number of output data
default: 0
Commands:
<sensor_node_name> ex, accel0(/dev/sensor/accel0)
nsh> ls /dev
/dev:
console
gpio0
gpio1
gpio2
i2c0
null
sensor/
spi0
spitest0
timer0
urandom
zero
nsh> ls /dev/sensor
/dev/sensor:
baro0
humi0
nsh> sensortest -n 1 baro0
Zig Sensor Test
sensor_ioctl: cmd=a81 arg=4201c170
bme280_set_interval_baro: period_us=1000000
bme280_set_interval_baro: priv=0x4201b4b0, sensor_baro=0x4201b4b0
bme280_set_standby: value=5
bl602_i2c_transfer: subflag=1, subaddr=0xf5, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e00a8
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf5, size=1, buf[0]=0xa8
bme280_reg_write: reg=0xf5, val=0xa8
bl602_i2c_transfer: subflag=1, subaddr=0xa8f5, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e00a8
bl602_i2c_transfer: i2c transfer success
bl602_i2c_transfer: subflag=1, subaddr=0xf5, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e00a8
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf5, size=1, buf[0]=0xa8
sensor_ioctl: cmd=a82 arg=4201c168
sensor_ioctl: cmd=a80 arg=00000001
bme280_activate_baro: enable=1
bme280_activate_baro: priv=0x4201b4b0, sensor_baro=0x4201b4b0
bl602_i2c_transfer: subflag=1, subaddr=0xd0, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e0060
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xd0, size=1, buf[0]=0x60
bme280_chip_init: ID OK
bme280_reg_write: reg=0xe0, val=0xb6
bl602_i2c_transfer: subflag=1, subaddr=0xb6e0, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0000
bl602_i2c_transfer: i2c transfer success
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e0000
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x00
bl602_2c_transfer: subflag=1, subaddr=0x88, sublen=1
bl602_i2c_recvdata: count=24, temp=0x67366e56
bl602_i2c_recvdata: count=20, temp=0x8f370032
bl602_i2c_recvdata: count=16, temp=0xbd0d63f
bl602_i2c_recvdata: count=12, temp=0xffa41a4e
bl602_i2c_recvdata: count=8, temp=0x26acfff9
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0x88, size=24
bl602_i2c_transfer: subflag=1, subaddr=0xa1, sublen=1
bl602_i2c_recvdata: count=1, temp=0x10bdd84b
bl602_i2c_transfe: i2c transfer success
bme280_reg_read: start=0xa1, size=1, buf[0]=0x4b
bl602_i2c_transfer: subflag=1, subaddr=0xe1, sublen=1
bl602_i2c_recvdata: count=7, temp=0x1300016e
bl602_i2c_recvdata: count=3, temp=0x131e0006
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xe1, size=7
bme280_reg_write: reg=0xf2, val=0x05
bl602_i2c_transfer: subflag=1, subaddr=0x5f2, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0005
bl602_i2c_transfer: i2c transfer success
bme280_reg_write: reg=0xf4, val=0x57
bl602_i2c_transfer: subflag=1, subaddr=0x57f4, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0057
bl602_i2c_transfer: i2c transfer success
bme280_reg_write: reg=0xf5, val=0xa8
bl602_i2c_transfer: subflag=1, subaddr=0xa8f5, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e00a8
bl602_i2c_transfer: i2c transfer success
bme280_chip_init: "BME280" OK
SensorTest: Test /dev/sensor/baro0 with interval(1000000us), latency(0us)
sensor_pollnotify: Report events: 00000001
bme280_fetch_baro: buflen=16
bme280_fetch_baro: priv=0x4201b4b0, sensor_baro=0x4201b4b0
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e000c
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x0c
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e000c
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x0c
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e0004
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x04
bl602_i2c_transfer: subflag=1, subaddr=0xf7, sublen=1
bl602_i2c_recvdata: count=8, temp=0x85909e56
bl602_i2c_recvdata: count=4, temp=0xc57e00fd
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf7, size=8
bme280_fetch: temperature=30.520000 °C, pressure=1029.177490 mbar, humidity=72.184570 %
baro0: timestamp:78490000 value1:72.18 value2:72.18
SensorTest: Received message: baro0, number:1/1
sensor_ioctl: cmd=a80 arg=00000000
bme280_activate_baro: enable=0
bme280_activate_baro: priv=0x4201b4b0, sensor_baro=0x4201b4b0
bme280_reg_write: reg=0xf4, val=0x54
bl602_i2c_transfer: subflag=1, subaddr=0x54f4, sublen=2
bl602_i2c_recvdata: count=1, temp=0xc57e0054
bl602_i2c_transfer: i2c transfer success
nsh> sensortest -n 1 humi0
Zig Sensor Test
sensor_ioctl: cmd=a81 arg=4201c170
bme280_set_interval_humi: period_us=1000000
bme280_set_interval_humi: priv=0x4201b4b0, sensor_humi=0x4201b4cc
bme280_set_standby: value=5
bl602_i2c_transfer: subflag=1, subaddr=0xf5, sublen=1
bl602_i2c_recvdata: count=1, temp=0xc57e00a8
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf5, size=1, buf[0]=0xa8
bme280_reg_write: reg=0xf5, val=0xa8
bl602_i2c_transfer: subflag=1, subaddr=0xa8f5, sublen=2
bl602_i2c_recvdata: count=1, temp=0xc57e00a8
bl602_i2c_transfer: i2c transfer success
bl602_i2c_transfer: subflag=1, subaddr=0xf5, sublen=1
bl602_i2c_recvdata: count=1, temp=0xc57e00a8
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf5, size=1, buf[0]=0xa8
sensor_ioctl: cmd=a82 arg=4201c168
sensor_ioctl: cmd=a80 arg=00000001
bme280_activate_humi: enable=1
bme280_activate_humi: priv=0x4201b4b0, sensor_humi=0x4201b4cc
bl602_i2c_transfer: subflag=1, subaddr=0xd0, sublen=1
bl602_i2c_recvdata: count=1, temp=0xc57e0060
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xd0, size=1, buf[0]=0x60
bme280_chip_init: ID OK
bme280_reg_write: reg=0xe0, val=0xb6
bl602_i2c_transfer: subflag=1, subaddr=0xb6e0, sublen=2
bl602_i2c_recvdata: count=1, temp=0xc57e0000
bl602_i2c_transfer: i2c transfer success
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0xc57e0000
b602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x00
bl602_i2c_transfer: subflag=1, subaddr=0x88, sublen=1
bl602_i2c_recvdata: count=24, temp=0x67366e56
bl602_i2c_recvdata: count=20, temp=0x8f370032
bl602_i2c_recvdata: count=16, temp=0xbd0d63f
bl602_i2c_recvdata: count=12, temp=0xffa41a4e
bl602_i2c_recvdata: count=8, temp=0x26acfff9
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0x88, size=24
bl602_i2c_transfer: subflag=1, subaddr=0xa1, sublen=1
bl602_i2c_recvdata: count=1, temp=0x10bdd84b
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xa1, size=1, buf[0]=0x4b
bl602_i2c_transfer: subflag=1, subaddr=0xe1, sublen=1
bl602_i2c_recvdata: count=7, temp=0x1300016e
bl602_i2c_recvdata: count=3, temp=0x131e0006
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xe1, size=7
bme280_reg_write: reg=0xf2, val=0x05
bl602_i2c_transfer: subflag=1, subaddr=0x5f2, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0005
bl602_i2c_transfer: i2c transfer success
bme280_reg_write: reg=0xf4, val=0x57
bl602_i2c_transfer: subflag=1, subaddr=0x57f4, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0057
bl602_i2c_transfer: i2c transfer success
bme280_reg_write: reg=0xf5, val=0xa8
bl602_i2c_transfer: subflag=1, subaddr=0xa8f5, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e00a8
bl602_i2c_transfer: i2c transfer success
bme280_chip_init: "BME280" OK
SensorTest: Test /dev/sensor/humi0 with interval(1000000us), latency(0us)
sensor_pollnotify: Report events: 00000001
bme280_fetch_humi: buflen=16
bme280_fetch_humi: priv=0x4201b4b0, sensor_humi=0x4201b4cc
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e000c
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x0c
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e000c
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x0c
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e0004
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x04
bl602_i2c_transfer: subflag=1, subaddr=0xf7, sublen=1
bl602_i2c_recvdata: count=8, temp=0x85a09f56
bl602_i2c_recvdata: count=4, temp=0xce7e80fc
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf7, size=8
bme280_fetch: temperature=30.520000 °C, pressure=1027.211548 mbar, humidity=72.229492 %
humi0: timestamp:109080000 value:72.23
SensorTest: Received message: humi0, number:1/1
sensor_ioctl: cmd=a80 arg=00000000
bme280_activate_humi: enable=0
bme280_activate_humi: priv=0x4201b4b0, sensor_humi=0x4201b4cc
bme280_reg_write: reg=0xf4, val=0x54
bl602_i2c_transfer: subflag=1, subaddr=0x54f4, sublen=2
bl602_i2c_recvdata: count=1, temp=0xce7e8054
bl602_i2c_transfer: i2c transfer success
nsh> sensortest -n 1 baro0
Zig Sensor Test
sensor_ioctl: cmd=a81 arg=4201c170
bme280_set_interval_baro: period_us=1000000
bme280_set_interval_baro: priv=0x4201b4b0, sensor_baro=0x4201b4b0
bme280_set_standby: value=5
bl602_i2c_transfer: subflag=1, subaddr=0xf5, sublen=1
bl602_i2c_recvdata: count=1, temp=0xce7e80a8
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf5, size=1, buf[0]=0xa8
bme280_reg_write: reg=0xf5, val=0xa8
bl602_i2c_transfer: subflag=1, subaddr=0xa8f5, sublen=2
bl602_i2c_recvdata: count=1, temp=0xce7e80a8
bl602_i2c_transfer: i2c transfer success
bl602_i2c_transfer: subflag=1, subaddr=0xf5, sublen=1
bl602_i2c_recvdata: count=1, temp=0xce7e80a8
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf5, size=1, buf[0]=0xa8
sensor_ioctl: cmd=a82 arg=4201c168
sensor_ioctl: cmd=a80 arg=00000001
bme280_activate_baro: enable=1
bme280_activate_baro: priv=0x4201b4b0, sensor_baro=0x4201b4b0
bl602_i2c_transfer: subflag=1, subaddr=0xd0, sublen=1
bl602_i2c_recvdata: count=1, temp=0xce7e8060
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xd0, size=1, buf[0]=0x60
bme280_chip_init: ID OK
bme280_reg_write: reg=0xe0, val=0xb6
bl602_i2c_transfer: subflag=1, subaddr=0xb6e0, sublen=2
bl602_i2c_recvdata: count=1, temp=0xce7e8000
bl602_i2c_transfer: i2c transfer success
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0xce7e8000
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x00
bl602_i2c_transfer: subflag=1, subaddr=0x88, sublen=1
bl602_i2c_recvdata: count=24, temp=0x67366e56
bl602_i2c_recvdata: count=20, temp=0x8f370032
bl602_i2c_recvdata: count=16, temp=0xbd0d63f
bl602_i2c_recvdata: count=12, temp=0xffa41a4e
bl602_i2c_recvdata: count=8, temp=0x26acfff9
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0x88, size=24
bl602_i2c_transfer: subflag=1, subaddr=0xa1, sublen=1
bl602_i2c_recvdata: count=1, temp=0x10bdd84b
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xa1, size=1, buf[0]=0x4b
bl602_i2c_transfer: subflag=1, subaddr=0xe1, sublen=1
bl602_i2c_recvdata: count=7, temp=0x1300016e
bl602_i2c_recvdata: count=3, temp=0x131e0006
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xe1, size=7
bme280_reg_write: reg=0xf2, val=0x05
bl602_i2c_transfer: subflag=1, subaddr=0x5f2, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0005
bl602_i2c_transfer: i2c transfer success
bme280_reg_write: reg=0xf4, val=0x57
bl602_i2c_transfer: subflag=1, subaddr=0x57f4, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e0057
bl602_i2c_transfer: i2c transfer success
bme280_reg_write: reg=0xf5, val=0xa8
bl602_i2c_transfer: subflag=1, subaddr=0xa8f5, sublen=2
bl602_i2c_recvdata: count=1, temp=0x131e00a8
bl602_i2c_transfer: i2c transfer success
bme280_chip_init: "BME280" OK
SensorTest: Test /dev/sensor/baro0 with interval(1000000us), latency(0us)
sensor_pollnotify: Report events: 00000001
bme280_fetch_baro: buflen=16
bme280_fetch_baro: priv=0x4201b4b0, sensor_baro=0x4201b4b0
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e000c
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x0c
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e000c
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x0c
bl602_i2c_transfer: subflag=1, subaddr=0xf3, sublen=1
bl602_i2c_recvdata: count=1, temp=0x131e0004
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf3, size=1, buf[0]=0x04
bl602_i2c_transfer: subflag=1, subaddr=0xf7, sublen=1
bl602_i2c_recvdata: count=8, temp=0x86c0a056
bl602_i2c_recvdata: count=4, temp=0xd37e0002
bl602_i2c_transfer: i2c transfer success
bme280_reg_read: start=0xf7, size=8
bme280_fetch: temperature=30.549999 °C, pressure=1029.157593 mbar, humidity=72.268555 %
baro0: timestamp:149970000 value1:72.27 value2:72.27
SensorTest: Received message: baro0, number:1/1
sensor_ioctl: cmd=a80 arg=00000000
bme280_activate_baro: enable=0
bme280_activate_baro: priv=0x4201b4b0, sensor_baro=0x4201b4b0
bme280_reg_write: reg=0xf4, val=0x54
bl602_i2c_transfer: subflag=1, subaddr=0x54f4, sublen=2
bl602_i2c_recvdata: count=1, temp=0xd37e0054
bl602_i2c_transfer: i2c transfer success
nsh>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment