diff options
| author | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2009-07-20 02:27:32 +0000 |
|---|---|---|
| committer | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2009-07-20 02:27:32 +0000 |
| commit | 6f7ad1d5cff3dc975bb6a63766ca11ef7ddd3283 (patch) | |
| tree | 273d8ce3cd833c2004413229a2846e24b332eb6f /Demos/Host/LowLevel/StillImageHost/Lib | |
| parent | 8e64cecff533734a0b4b1d40d5cac9d18ec7d10b (diff) | |
Added error codes to most StillImageHost demo commands.
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@659 d5102386-fcda-11dd-9fdb-3debd5008f28
Diffstat (limited to 'Demos/Host/LowLevel/StillImageHost/Lib')
| -rw-r--r-- | Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c | 16 | ||||
| -rw-r--r-- | Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h | 10 |
2 files changed, 20 insertions, 6 deletions
diff --git a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c index bf857508..c0a9575f 100644 --- a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c +++ b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c @@ -80,20 +80,24 @@ void SImage_SendBlockHeader(void) }
/** Function to receive a PIMA event container from the attached still image device. */
-void SImage_RecieveEventHeader(void)
+uint8_t SImage_RecieveEventHeader(void)
{
+ uint8_t ErrorCode;
+
/* Unfreeze the events pipe */
Pipe_SelectPipe(SIMAGE_EVENTS_PIPE);
Pipe_Unfreeze();
/* Read in the event data into the global structure */
- Pipe_Read_Stream_LE(&PIMA_EventBlock, sizeof(PIMA_EventBlock));
+ ErrorCode = Pipe_Read_Stream_LE(&PIMA_EventBlock, sizeof(PIMA_EventBlock));
/* Clear the pipe after read complete to prepare for next event */
Pipe_ClearIN();
/* Freeze the event pipe again after use */
Pipe_Freeze();
+
+ return ErrorCode;
}
/** Function to receive a PIMA response container from the attached still image device. */
@@ -193,20 +197,24 @@ uint8_t SImage_RecieveBlockHeader(void) * \param[in] Buffer Source data buffer to send to the device
* \param[in] Bytes Number of bytes to send
*/
-void SImage_SendData(void* Buffer, uint16_t Bytes)
+uint8_t SImage_SendData(void* Buffer, uint16_t Bytes)
{
+ uint8_t ErrorCode;
+
/* Unfreeze the data OUT pipe */
Pipe_SelectPipe(SIMAGE_DATA_OUT_PIPE);
Pipe_Unfreeze();
/* Write the data contents to the pipe */
- Pipe_Write_Stream_LE(Buffer, Bytes);
+ ErrorCode = Pipe_Write_Stream_LE(Buffer, Bytes);
/* Send the last packet to the attached device */
Pipe_ClearOUT();
/* Freeze the pipe again after use */
Pipe_Freeze();
+
+ return ErrorCode;
}
/** Function to receive the given data to the device, after a response block has been received.
diff --git a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h index 2674b6aa..60005105 100644 --- a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h +++ b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h @@ -50,6 +50,12 @@ /** Pipe number of the Still Image events pipe */
#define SIMAGE_EVENTS_PIPE 0x03
+
+ /** Length in bytes of a given Unicode string's character length
+ *
+ * \param[in] chars Total number of Unicode characters in the string
+ */
+ #define UNICODE_STRING_LENGTH(chars) (chars << 1)
/** Timeout period between the issuing of a command to a device, and the reception of the first packet */
#define COMMAND_DATA_TIMEOUT_MS 5000
@@ -101,8 +107,8 @@ /* Function Prototypes: */
void SImage_SendBlockHeader(void);
uint8_t SImage_RecieveBlockHeader(void);
- void SImage_RecieveEventHeader(void);
- void SImage_SendData(void* Buffer, uint16_t Bytes);
+ uint8_t SImage_RecieveEventHeader(void);
+ uint8_t SImage_SendData(void* Buffer, uint16_t Bytes);
uint8_t SImage_ReadData(void* Buffer, uint16_t Bytes);
bool SImage_IsEventReceived(void);
uint8_t SImage_ClearPipeStall(const uint8_t EndpointNum);
|
