am7xxx: dump fields of unknown packet types
[libam7xxx.git] / src / am7xxx.h
index 885cef2..ec9869d 100644 (file)
@@ -219,7 +219,7 @@ int am7xxx_calc_scaled_image_dimensions(am7xxx_device *dev,
                                        unsigned int *scaled_width,
                                        unsigned int *scaled_height);
 /**
- * Send an image for display on a am7xxx device.
+ * Send an image for display on an am7xxx device.
  *
  * This is the function that actually makes the device display something.
  * Static pictures can be sent just once and the device will keep showing them
@@ -242,19 +242,46 @@ int am7xxx_send_image(am7xxx_device *dev,
                      unsigned int image_size);
 
 /**
- * Set the power mode of an am7xxx device.
+ * Queue transfer of an image for display on an am7xxx device and return immediately.
  *
- * \note If we set the mode to AM7XXX_POWER_OFF we can't turn the
- * display on again by using only am7xxx_set_power_mode(). This needs to be
- * investigated, maybe some other command can reset the device.
+ * This is the function that actually makes the device display something.
+ * Static pictures can be sent just once and the device will keep showing them
+ * until another image get sent or some command resets or turns off the display.
+ * 
+ * @note This _async() variant makes a copy of the image buffer, so the caller
+ * is free to reuse the buffer just after the function returns.
  *
  * @param[in] dev A pointer to the structure representing the device to get info of
- * @param[in] mode The power mode to put the device in (see @link am7xxx_power_mode @endlink enum)
+ * @param[in] format The format the image is in (see @link am7xxx_image_format @endlink enum)
+ * @param[in] width The width of the image
+ * @param[in] height The height of the image
+ * @param[in] image A buffer holding data in the format specified by the format parameter
+ * @param[in] image_size The size in bytes of the image buffer
+ *
+ * @return 0 on success, a negative value on error
+ */
+int am7xxx_send_image_async(am7xxx_device *dev,
+                           am7xxx_image_format format,
+                           unsigned int width,
+                           unsigned int height,
+                           unsigned char *image,
+                           unsigned int image_size);
+
+/**
+ * Set the power mode of an am7xxx device.
+ *
+ * @note When setting the mode to AM7XXX_POWER_OFF the display can't be turned
+ * on again by using only am7xxx_set_power_mode(), am7xxx_set_zoom_mode() has
+ * to be called first, the current guess is that the latter performs some
+ * other resets beside setting the zoom mode.
+ *
+ * @param[in] dev A pointer to the structure representing the device to set power mode to
+ * @param[in] power The power mode to put the device in (see #am7xxx_power_mode enum)
  *
  * @return 0 on success, a negative value on error
  *
  */
-int am7xxx_set_power_mode(am7xxx_device *dev, am7xxx_power_mode mode);
+int am7xxx_set_power_mode(am7xxx_device *dev, am7xxx_power_mode power);
 
 /**
  * Set the zoom mode of an am7xxx device.