Fix warning about possible string truncation in the TempDataLogger project.
[pub/USBasp.git] / Demos / Host / LowLevel / StillImageHost / Lib / StillImageCommands.c
index 861f55b..6d53901 100644 (file)
@@ -1,24 +1,24 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
-              
+     Copyright (C) Dean Camera, 2018.
+
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
-  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2018  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
-  Permission to use, copy, modify, distribute, and sell this 
+  Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in 
+  without fee, provided that the above copyright notice appear in
   all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting 
-  documentation, and that the name of the author not be used in 
-  advertising or publicity pertaining to distribution of the 
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
-  The author disclaim all warranties with regard to this
+  The author disclaims all warranties with regard to this
   software, including all implied warranties of merchantability
   and fitness.  In no event shall the author be liable for any
   special, indirect or consequential damages or any damages
@@ -55,10 +55,10 @@ void SImage_SendBlockHeader(void)
        Pipe_Unfreeze();
 
        /* Write the PIMA block to the data OUT pipe */
-       Pipe_Write_Stream_LE(&PIMA_SendBlock, PIMA_COMMAND_SIZE(0));
-       
+       Pipe_Write_Stream_LE(&PIMA_SendBlock, PIMA_COMMAND_SIZE(0), NULL);
+
        /* If the block type is a command, send its parameters (if any) */
-       if (PIMA_SendBlock.Type == CType_CommandBlock)
+       if (PIMA_SendBlock.Type == PIMA_CONTAINER_CommandBlock)
        {
                /* Determine the size of the parameters in the block via the data length attribute */
                uint8_t ParamBytes = (PIMA_SendBlock.DataLength - PIMA_COMMAND_SIZE(0));
@@ -67,13 +67,13 @@ void SImage_SendBlockHeader(void)
                if (ParamBytes)
                {
                        /* Write the PIMA parameters to the data OUT pipe */
-                       Pipe_Write_Stream_LE(&PIMA_SendBlock.Params, ParamBytes);
+                       Pipe_Write_Stream_LE(&PIMA_SendBlock.Params, ParamBytes, NULL);
                }
-               
+
                /* Send the PIMA command block to the attached device */
                Pipe_ClearOUT();
        }
-                                       
+
        /* Freeze pipe after use */
        Pipe_Freeze();
 }
@@ -89,16 +89,16 @@ uint8_t SImage_ReceiveEventHeader(void)
        /* Unfreeze the events pipe */
        Pipe_SelectPipe(SIMAGE_EVENTS_PIPE);
        Pipe_Unfreeze();
-       
+
        /* Read in the event data into the global structure */
-       ErrorCode = Pipe_Read_Stream_LE(&PIMA_EventBlock, sizeof(PIMA_EventBlock));
-       
+       ErrorCode = Pipe_Read_Stream_LE(&PIMA_EventBlock, sizeof(PIMA_EventBlock), NULL);
+
        /* Clear the pipe after read complete to prepare for next event */
        Pipe_ClearIN();
-       
+
        /* Freeze the event pipe again after use */
        Pipe_Freeze();
-       
+
        return ErrorCode;
 }
 
@@ -114,7 +114,7 @@ uint8_t SImage_ReceiveBlockHeader(void)
        /* Unfreeze the data IN pipe */
        Pipe_SelectPipe(SIMAGE_DATA_IN_PIPE);
        Pipe_Unfreeze();
-       
+
        /* Wait until data received on the IN pipe */
        while (!(Pipe_IsINReceived()))
        {
@@ -131,7 +131,7 @@ uint8_t SImage_ReceiveBlockHeader(void)
                        if (!(TimeoutMSRem))
                          return PIPE_RWSTREAM_Timeout;
                }
-               
+
                Pipe_Freeze();
                Pipe_SelectPipe(SIMAGE_DATA_OUT_PIPE);
                Pipe_Unfreeze();
@@ -140,7 +140,7 @@ uint8_t SImage_ReceiveBlockHeader(void)
                if (Pipe_IsStalled())
                {
                        /* Clear the stall condition on the OUT pipe */
-                       USB_Host_ClearPipeStall(SIMAGE_DATA_OUT_PIPE);
+                       USB_Host_ClearEndpointStall(Pipe_GetBoundEndpointAddress());
 
                        /* Return error code and break out of the loop */
                        return PIPE_RWSTREAM_PipeStalled;
@@ -154,22 +154,22 @@ uint8_t SImage_ReceiveBlockHeader(void)
                if (Pipe_IsStalled())
                {
                        /* Clear the stall condition on the IN pipe */
-                       USB_Host_ClearPipeStall(SIMAGE_DATA_IN_PIPE);
+                       USB_Host_ClearEndpointStall(Pipe_GetBoundEndpointAddress());
 
                        /* Return error code */
                        return PIPE_RWSTREAM_PipeStalled;
                }
-                 
+
                /* Check to see if the device was disconnected, if so exit function */
                if (USB_HostState == HOST_STATE_Unattached)
                  return PIPE_RWSTREAM_DeviceDisconnected;
        }
-               
+
        /* Load in the response from the attached device */
-       Pipe_Read_Stream_LE(&PIMA_ReceivedBlock, PIMA_COMMAND_SIZE(0));
-       
+       Pipe_Read_Stream_LE(&PIMA_ReceivedBlock, PIMA_COMMAND_SIZE(0), NULL);
+
        /* Check if the returned block type is a response block */
-       if (PIMA_ReceivedBlock.Type == CType_ResponseBlock)
+       if (PIMA_ReceivedBlock.Type == PIMA_CONTAINER_ResponseBlock)
        {
                /* Determine the size of the parameters in the block via the data length attribute */
                uint8_t ParamBytes = (PIMA_ReceivedBlock.DataLength - PIMA_COMMAND_SIZE(0));
@@ -178,16 +178,16 @@ uint8_t SImage_ReceiveBlockHeader(void)
                if (ParamBytes)
                {
                        /* Read the PIMA parameters from the data IN pipe */
-                       Pipe_Read_Stream_LE(&PIMA_ReceivedBlock.Params, ParamBytes);
+                       Pipe_Read_Stream_LE(&PIMA_ReceivedBlock.Params, ParamBytes, NULL);
                }
-               
+
                /* Clear pipe bank after use */
                Pipe_ClearIN();
        }
-       
+
        /* Freeze the IN pipe after use */
        Pipe_Freeze();
-       
+
        return PIPE_RWSTREAM_NoError;
 }
 
@@ -206,20 +206,20 @@ uint8_t SImage_SendData(void* const Buffer,
        /* Unfreeze the data OUT pipe */
        Pipe_SelectPipe(SIMAGE_DATA_OUT_PIPE);
        Pipe_Unfreeze();
-       
+
        /* Write the data contents to the pipe */
-       ErrorCode = Pipe_Write_Stream_LE(Buffer, Bytes);
+       ErrorCode = Pipe_Write_Stream_LE(Buffer, Bytes, NULL);
 
        /* 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.
+/** Function to receive the given data from the device, after a response block has been received.
  *
  *  \param[out] Buffer  Destination data buffer to put read bytes from the device
  *  \param[in] Bytes    Number of bytes to receive
@@ -236,17 +236,17 @@ uint8_t SImage_ReadData(void* const Buffer,
        Pipe_Unfreeze();
 
        /* Read in the data into the buffer */
-       ErrorCode = Pipe_Read_Stream_LE(Buffer, Bytes);
+       ErrorCode = Pipe_Read_Stream_LE(Buffer, Bytes, NULL);
 
        /* Freeze the pipe again after use */
        Pipe_Freeze();
-       
+
        return ErrorCode;
 }
 
 /** Function to test if a PIMA event block is waiting to be read in from the attached device.
  *
- *  \return True if an event is waiting to be read in from the device, false otherwise
+ *  \return True if an event is waiting to be read in from the device, \c false otherwise
  */
 bool SImage_IsEventReceived(void)
 {
@@ -255,13 +255,14 @@ bool SImage_IsEventReceived(void)
        /* Unfreeze the Event pipe */
        Pipe_SelectPipe(SIMAGE_EVENTS_PIPE);
        Pipe_Unfreeze();
-       
+
        /* If the pipe contains data, an event has been received */
        if (Pipe_BytesInPipe())
          IsEventReceived = true;
-       
+
        /* Freeze the pipe after use */
        Pipe_Freeze();
-       
+
        return IsEventReceived;
 }
+