Expand description
§Identifying pixels
The Grid-EYE has an 8x8 resolution, with the pixels numbered 1 through 64. When looking at the sensor head-on, vertically oriented with the lens window on top, pixel 1 is on your lower left. Pixels are then counted left to right, bottom to top.
Structs§
- GridEye
- Interrupt
Control Value - A bitfield for controlling interrupts on the device.
- Status
Value - A bitfield for the status flags of the device. This value is read from Register::Status and written to Register::StatusClear.
Enums§
- Address
- The I2C address for the Grid-EYE sensor.
- Average
Value - Value for Register::Average, controlling whether or not the values presented by the sensor are processed as a moving average of previous frames or not. Frankly the documentation of this feature is lacking, and it’s unclear to me what it actually does while the different frame rates are set.
- Frame
Rate Value - The frame rate of the camera. Internally, the sensor always runs at 10 FPS, but in 1 FPS mode it is averaging the frames internally to reduce noise. The names are slightly different from those used in the datasheet to conform to Rust’s identifier rules.
- Interrupt
Control Mode - How interrupts should be triggered.
- Power
Control Value - On power on, the device is in normal mode. There are no restrictions for leaving normal mode. In sleep mode, the only valid mode to change to is normal mode. When leaving sleep mode the value of other registers are undefined, and must be reset with this procedure:
- Register
- The registers used to access the Grid-EYE.
- Reset
Value - There are two kinds of soft reset available by writing to Register::Reset. Only use ResetValue::Initial when changing from sleep to normal mode. The datasheet emphasizes that other values are not to be used.