/*\r
LUFA Library\r
- Copyright (C) Dean Camera, 2009.\r
+ Copyright (C) Dean Camera, 2010.\r
\r
dean [at] fourwalledcubicle [dot] com\r
www.fourwalledcubicle.com\r
*/\r
\r
/*\r
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
\r
- Permission to use, copy, modify, and distribute this software\r
- and its documentation for any purpose and without fee is hereby\r
- granted, provided that the above copyright notice appear in all\r
- copies and that both that the copyright notice and this\r
- permission notice and warranty disclaimer appear in supporting\r
- documentation, and that the name of the author not be used in\r
- advertising or publicity pertaining to distribution of the\r
+ Permission to use, copy, modify, distribute, and sell this \r
+ software and its documentation for any purpose is hereby granted\r
+ without fee, provided that the above copyright notice appear in \r
+ all copies and that both that the copyright notice and this\r
+ permission notice and warranty disclaimer appear in supporting \r
+ documentation, and that the name of the author not be used in \r
+ advertising or publicity pertaining to distribution of the \r
software without specific, written prior permission.\r
\r
The author disclaim all warranties with regard to this\r
#define _STILL_IMAGE_COMMANDS_H_\r
\r
/* Includes: */\r
- #include <LUFA/Drivers/USB/USB.h> // USB Functionality\r
+ #include <LUFA/Drivers/USB/USB.h>\r
\r
#include "PIMACodes.h"\r
\r
\r
/** Pipe number of the Still Image events pipe */\r
#define SIMAGE_EVENTS_PIPE 0x03\r
+ \r
+ /** Length in bytes of a given Unicode string's character length\r
+ *\r
+ * \param[in] chars Total number of Unicode characters in the string\r
+ */\r
+ #define UNICODE_STRING_LENGTH(chars) ((chars) << 1)\r
\r
/** Timeout period between the issuing of a command to a device, and the reception of the first packet */\r
- #define COMMAND_DATA_TIMEOUT_MS 5000\r
+ #define COMMAND_DATA_TIMEOUT_MS 10000\r
\r
/** Used in the DataLength field of a PIMA container, to give the total container size in bytes for\r
* a command container.\r
* \param[in] params Number of parameters which are to be sent in the Param field of the container\r
*/\r
#define PIMA_COMMAND_SIZE(params) ((sizeof(PIMA_SendBlock) - sizeof(PIMA_SendBlock.Params)) + \\r
- (params * sizeof(PIMA_SendBlock.Params[0])))\r
+ ((params) * sizeof(PIMA_SendBlock.Params[0])))\r
\r
/** Used in the DataLength field of a PIMA container, to give the total container size in bytes for\r
* a data container.\r
uint16_t Type; /**< Container type, a value from the PIMA_Container_Types_t enum */\r
uint16_t Code; /**< Command, event or response code of the container */\r
uint32_t TransactionID; /**< Unique container ID to link blocks together */\r
- uint32_t Params[4]; /**< Block parameters to be issued along with the block code (command blocks only) */\r
+ uint32_t Params[3]; /**< Block parameters to be issued along with the block code (command blocks only) */\r
} PIMA_Container_t;\r
\r
/* Enums: */\r
\r
/* Function Prototypes: */\r
void SImage_SendBlockHeader(void);\r
- uint8_t SImage_RecieveBlockHeader(void);\r
- void SImage_RecieveEventHeader(void);\r
- void SImage_SendData(void* Buffer, uint16_t Bytes);\r
- uint8_t SImage_ReadData(void* Buffer, uint16_t Bytes);\r
+ uint8_t SImage_ReceiveBlockHeader(void);\r
+ uint8_t SImage_ReceiveEventHeader(void);\r
+ uint8_t SImage_SendData(void* const Buffer, const uint16_t Bytes);\r
+ uint8_t SImage_ReadData(void* const Buffer, const uint16_t Bytes);\r
bool SImage_IsEventReceived(void);\r
- uint8_t SImage_ClearPipeStall(const uint8_t EndpointNum);\r
\r
#endif\r