Renamed all low level Endpoint_Read_*, Endpoint_Write_* and Endpoint_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures.
Renamed all low level Pipe_Read_*, Pipe_Write_* and Pipe_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures.
This commit is contained in:
		
							parent
							
								
									2efa79d3ec
								
							
						
					
					
						commit
						899df7d331
					
				
					 46 changed files with 679 additions and 665 deletions
				
			
		| 
						 | 
				
			
			@ -95,8 +95,8 @@ void ISPProtocol_EnterISPMode(void)
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_ENTER_PROGMODE_ISP);
 | 
			
		||||
	Endpoint_Write_Byte(ResponseStatus);
 | 
			
		||||
	Endpoint_Write_8(CMD_ENTER_PROGMODE_ISP);
 | 
			
		||||
	Endpoint_Write_8(ResponseStatus);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -121,8 +121,8 @@ void ISPProtocol_LeaveISPMode(void)
 | 
			
		|||
	ISPTarget_DisableTargetISP();
 | 
			
		||||
	ISPProtocol_DelayMS(Leave_ISP_Params.PostDelayMS);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_LEAVE_PROGMODE_ISP);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(CMD_LEAVE_PROGMODE_ISP);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -154,8 +154,8 @@ void ISPProtocol_ProgramMemory(uint8_t V2Command)
 | 
			
		|||
		Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
 | 
			
		||||
		Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
 | 
			
		||||
 | 
			
		||||
		Endpoint_Write_Byte(V2Command);
 | 
			
		||||
		Endpoint_Write_Byte(STATUS_CMD_FAILED);
 | 
			
		||||
		Endpoint_Write_8(V2Command);
 | 
			
		||||
		Endpoint_Write_8(STATUS_CMD_FAILED);
 | 
			
		||||
		Endpoint_ClearIN();
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -270,8 +270,8 @@ void ISPProtocol_ProgramMemory(uint8_t V2Command)
 | 
			
		|||
		  MustLoadExtendedAddress = true;
 | 
			
		||||
	}	
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(V2Command);
 | 
			
		||||
	Endpoint_Write_Byte(ProgrammingStatus);
 | 
			
		||||
	Endpoint_Write_8(V2Command);
 | 
			
		||||
	Endpoint_Write_8(ProgrammingStatus);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -295,8 +295,8 @@ void ISPProtocol_ReadMemory(uint8_t V2Command)
 | 
			
		|||
	Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
 | 
			
		||||
	Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(V2Command);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(V2Command);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
 | 
			
		||||
	/* Read each byte from the device and write them to the packet for the host */
 | 
			
		||||
	for (uint16_t CurrentByte = 0; CurrentByte < Read_Memory_Params.BytesToRead; CurrentByte++)
 | 
			
		||||
| 
						 | 
				
			
			@ -312,7 +312,7 @@ void ISPProtocol_ReadMemory(uint8_t V2Command)
 | 
			
		|||
		ISPTarget_SendByte(Read_Memory_Params.ReadMemoryCommand);
 | 
			
		||||
		ISPTarget_SendByte(CurrentAddress >> 8);
 | 
			
		||||
		ISPTarget_SendByte(CurrentAddress & 0xFF);
 | 
			
		||||
		Endpoint_Write_Byte(ISPTarget_ReceiveByte());
 | 
			
		||||
		Endpoint_Write_8(ISPTarget_ReceiveByte());
 | 
			
		||||
 | 
			
		||||
		/* Check if the endpoint bank is currently full, if so send the packet */
 | 
			
		||||
		if (!(Endpoint_IsReadWriteAllowed()))
 | 
			
		||||
| 
						 | 
				
			
			@ -338,7 +338,7 @@ void ISPProtocol_ReadMemory(uint8_t V2Command)
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
 | 
			
		||||
	bool IsEndpointFull = !(Endpoint_IsReadWriteAllowed());
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
| 
						 | 
				
			
			@ -380,8 +380,8 @@ void ISPProtocol_ChipErase(void)
 | 
			
		|||
	else
 | 
			
		||||
	  ResponseStatus = ISPTarget_WaitWhileTargetBusy();
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_CHIP_ERASE_ISP);
 | 
			
		||||
	Endpoint_Write_Byte(ResponseStatus);
 | 
			
		||||
	Endpoint_Write_8(CMD_CHIP_ERASE_ISP);
 | 
			
		||||
	Endpoint_Write_8(ResponseStatus);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -410,10 +410,10 @@ void ISPProtocol_ReadFuseLockSigOSCCAL(uint8_t V2Command)
 | 
			
		|||
	for (uint8_t RByte = 0; RByte < sizeof(ResponseBytes); RByte++)
 | 
			
		||||
	  ResponseBytes[RByte] = ISPTarget_TransferByte(Read_FuseLockSigOSCCAL_Params.ReadCommandBytes[RByte]);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(V2Command);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_Byte(ResponseBytes[Read_FuseLockSigOSCCAL_Params.RetByte - 1]);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(V2Command);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(ResponseBytes[Read_FuseLockSigOSCCAL_Params.RetByte - 1]);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -439,9 +439,9 @@ void ISPProtocol_WriteFuseLock(uint8_t V2Command)
 | 
			
		|||
	for (uint8_t SByte = 0; SByte < sizeof(Write_FuseLockSig_Params.WriteCommandBytes); SByte++)
 | 
			
		||||
	  ISPTarget_SendByte(Write_FuseLockSig_Params.WriteCommandBytes[SByte]);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(V2Command);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(V2Command);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -463,8 +463,8 @@ void ISPProtocol_SPIMulti(void)
 | 
			
		|||
	Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
 | 
			
		||||
	Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_SPI_MULTI);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(CMD_SPI_MULTI);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
 | 
			
		||||
	uint8_t CurrTxPos = 0;
 | 
			
		||||
	uint8_t CurrRxPos = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -484,9 +484,9 @@ void ISPProtocol_SPIMulti(void)
 | 
			
		|||
	while (CurrRxPos < SPI_Multi_Params.RxBytes)
 | 
			
		||||
	{
 | 
			
		||||
		if (CurrTxPos < SPI_Multi_Params.TxBytes)
 | 
			
		||||
		  Endpoint_Write_Byte(ISPTarget_TransferByte(SPI_Multi_Params.TxData[CurrTxPos++]));
 | 
			
		||||
		  Endpoint_Write_8(ISPTarget_TransferByte(SPI_Multi_Params.TxData[CurrTxPos++]));
 | 
			
		||||
		else
 | 
			
		||||
		  Endpoint_Write_Byte(ISPTarget_ReceiveByte());
 | 
			
		||||
		  Endpoint_Write_8(ISPTarget_ReceiveByte());
 | 
			
		||||
 | 
			
		||||
		/* Check to see if we have filled the endpoint bank and need to send the packet */
 | 
			
		||||
		if (!(Endpoint_IsReadWriteAllowed()))
 | 
			
		||||
| 
						 | 
				
			
			@ -498,7 +498,7 @@ void ISPProtocol_SPIMulti(void)
 | 
			
		|||
		CurrRxPos++;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
 | 
			
		||||
	bool IsEndpointFull = !(Endpoint_IsReadWriteAllowed());
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -73,7 +73,7 @@ void V2Protocol_Init(void)
 | 
			
		|||
 */
 | 
			
		||||
void V2Protocol_ProcessCommand(void)
 | 
			
		||||
{
 | 
			
		||||
	uint8_t V2Command = Endpoint_Read_Byte();
 | 
			
		||||
	uint8_t V2Command = Endpoint_Read_8();
 | 
			
		||||
 | 
			
		||||
	/* Start the watchdog with timeout interrupt enabled to manage the timeout */
 | 
			
		||||
	TimeoutExpired = false;
 | 
			
		||||
| 
						 | 
				
			
			@ -166,8 +166,8 @@ static void V2Protocol_UnknownCommand(const uint8_t V2Command)
 | 
			
		|||
	Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
 | 
			
		||||
	Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(V2Command);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_UNKNOWN);
 | 
			
		||||
	Endpoint_Write_8(V2Command);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_UNKNOWN);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -178,9 +178,9 @@ static void V2Protocol_SignOn(void)
 | 
			
		|||
	Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
 | 
			
		||||
	Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_SIGN_ON);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_Byte(sizeof(PROGRAMMER_ID) - 1);
 | 
			
		||||
	Endpoint_Write_8(CMD_SIGN_ON);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(sizeof(PROGRAMMER_ID) - 1);
 | 
			
		||||
	Endpoint_Write_Stream_LE(PROGRAMMER_ID, (sizeof(PROGRAMMER_ID) - 1), NULL);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -194,8 +194,8 @@ static void V2Protocol_ResetProtection(void)
 | 
			
		|||
	Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
 | 
			
		||||
	Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_RESET_PROTECTION);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(CMD_RESET_PROTECTION);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -207,33 +207,33 @@ static void V2Protocol_ResetProtection(void)
 | 
			
		|||
 */
 | 
			
		||||
static void V2Protocol_GetSetParam(const uint8_t V2Command)
 | 
			
		||||
{
 | 
			
		||||
	uint8_t ParamID = Endpoint_Read_Byte();
 | 
			
		||||
	uint8_t ParamID = Endpoint_Read_8();
 | 
			
		||||
	uint8_t ParamValue;
 | 
			
		||||
 | 
			
		||||
	if (V2Command == CMD_SET_PARAMETER)
 | 
			
		||||
	  ParamValue = Endpoint_Read_Byte();
 | 
			
		||||
	  ParamValue = Endpoint_Read_8();
 | 
			
		||||
 | 
			
		||||
	Endpoint_ClearOUT();
 | 
			
		||||
	Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
 | 
			
		||||
	Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(V2Command);
 | 
			
		||||
	Endpoint_Write_8(V2Command);
 | 
			
		||||
 | 
			
		||||
	uint8_t ParamPrivs = V2Params_GetParameterPrivileges(ParamID);
 | 
			
		||||
 | 
			
		||||
	if ((V2Command == CMD_SET_PARAMETER) && (ParamPrivs & PARAM_PRIV_WRITE))
 | 
			
		||||
	{
 | 
			
		||||
		Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
		Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
		V2Params_SetParameterValue(ParamID, ParamValue);
 | 
			
		||||
	}
 | 
			
		||||
	else if ((V2Command == CMD_GET_PARAMETER) && (ParamPrivs & PARAM_PRIV_READ))
 | 
			
		||||
	{
 | 
			
		||||
		Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
		Endpoint_Write_Byte(V2Params_GetParameterValue(ParamID));
 | 
			
		||||
		Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
		Endpoint_Write_8(V2Params_GetParameterValue(ParamID));
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		Endpoint_Write_Byte(STATUS_CMD_FAILED);
 | 
			
		||||
		Endpoint_Write_8(STATUS_CMD_FAILED);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
| 
						 | 
				
			
			@ -254,8 +254,8 @@ static void V2Protocol_LoadAddress(void)
 | 
			
		|||
	if (CurrentAddress & (1UL << 31))
 | 
			
		||||
	  MustLoadExtendedAddress = true;
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_LOAD_ADDRESS);
 | 
			
		||||
	Endpoint_Write_Byte(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_Write_8(CMD_LOAD_ADDRESS);
 | 
			
		||||
	Endpoint_Write_8(STATUS_CMD_OK);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -70,8 +70,8 @@ void XPROGProtocol_SetMode(void)
 | 
			
		|||
 | 
			
		||||
	XPROG_SelectedProtocol = SetMode_XPROG_Params.Protocol;
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_XPROG_SETMODE);
 | 
			
		||||
	Endpoint_Write_Byte((SetMode_XPROG_Params.Protocol != XPRG_PROTOCOL_JTAG) ? STATUS_CMD_OK : STATUS_CMD_FAILED);
 | 
			
		||||
	Endpoint_Write_8(CMD_XPROG_SETMODE);
 | 
			
		||||
	Endpoint_Write_8((SetMode_XPROG_Params.Protocol != XPRG_PROTOCOL_JTAG) ? STATUS_CMD_OK : STATUS_CMD_FAILED);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +80,7 @@ void XPROGProtocol_SetMode(void)
 | 
			
		|||
 */
 | 
			
		||||
void XPROGProtocol_Command(void)
 | 
			
		||||
{
 | 
			
		||||
	uint8_t XPROGCommand = Endpoint_Read_Byte();
 | 
			
		||||
	uint8_t XPROGCommand = Endpoint_Read_8();
 | 
			
		||||
 | 
			
		||||
	switch (XPROGCommand)
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			@ -122,9 +122,9 @@ static void XPROGProtocol_EnterXPROGMode(void)
 | 
			
		|||
	else if (XPROG_SelectedProtocol == XPRG_PROTOCOL_TPI)
 | 
			
		||||
	  NVMBusEnabled = TINYNVM_EnableTPI();
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_Byte(XPRG_CMD_ENTER_PROGMODE);
 | 
			
		||||
	Endpoint_Write_Byte(NVMBusEnabled ? XPRG_ERR_OK : XPRG_ERR_FAILED);
 | 
			
		||||
	Endpoint_Write_8(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_8(XPRG_CMD_ENTER_PROGMODE);
 | 
			
		||||
	Endpoint_Write_8(NVMBusEnabled ? XPRG_ERR_OK : XPRG_ERR_FAILED);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -148,9 +148,9 @@ static void XPROGProtocol_LeaveXPROGMode(void)
 | 
			
		|||
	ISPTarget_ConfigureRescueClock();
 | 
			
		||||
	#endif
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_Byte(XPRG_CMD_LEAVE_PROGMODE);
 | 
			
		||||
	Endpoint_Write_Byte(XPRG_ERR_OK);
 | 
			
		||||
	Endpoint_Write_8(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_8(XPRG_CMD_LEAVE_PROGMODE);
 | 
			
		||||
	Endpoint_Write_8(XPRG_ERR_OK);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -224,9 +224,9 @@ static void XPROGProtocol_Erase(void)
 | 
			
		|||
		  ReturnStatus = XPRG_ERR_TIMEOUT;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_Byte(XPRG_CMD_ERASE);
 | 
			
		||||
	Endpoint_Write_Byte(ReturnStatus);
 | 
			
		||||
	Endpoint_Write_8(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_8(XPRG_CMD_ERASE);
 | 
			
		||||
	Endpoint_Write_8(ReturnStatus);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -317,9 +317,9 @@ static void XPROGProtocol_WriteMemory(void)
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_Byte(XPRG_CMD_WRITE_MEM);
 | 
			
		||||
	Endpoint_Write_Byte(ReturnStatus);
 | 
			
		||||
	Endpoint_Write_8(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_8(XPRG_CMD_WRITE_MEM);
 | 
			
		||||
	Endpoint_Write_8(ReturnStatus);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -360,9 +360,9 @@ static void XPROGProtocol_ReadMemory(void)
 | 
			
		|||
		  ReturnStatus = XPRG_ERR_TIMEOUT;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_Byte(XPRG_CMD_READ_MEM);
 | 
			
		||||
	Endpoint_Write_Byte(ReturnStatus);
 | 
			
		||||
	Endpoint_Write_8(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_8(XPRG_CMD_READ_MEM);
 | 
			
		||||
	Endpoint_Write_8(ReturnStatus);
 | 
			
		||||
 | 
			
		||||
	if (ReturnStatus == XPRG_ERR_OK)
 | 
			
		||||
	  Endpoint_Write_Stream_LE(ReadBuffer, ReadMemory_XPROG_Params.Length, NULL);
 | 
			
		||||
| 
						 | 
				
			
			@ -418,14 +418,14 @@ static void XPROGProtocol_ReadCRC(void)
 | 
			
		|||
		ReturnStatus = XPRG_ERR_FAILED;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_Byte(XPRG_CMD_CRC);
 | 
			
		||||
	Endpoint_Write_Byte(ReturnStatus);
 | 
			
		||||
	Endpoint_Write_8(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_8(XPRG_CMD_CRC);
 | 
			
		||||
	Endpoint_Write_8(ReturnStatus);
 | 
			
		||||
 | 
			
		||||
	if (ReturnStatus == XPRG_ERR_OK)
 | 
			
		||||
	{
 | 
			
		||||
		Endpoint_Write_Byte(MemoryCRC >> 16);
 | 
			
		||||
		Endpoint_Write_Word_LE(MemoryCRC & 0xFFFF);
 | 
			
		||||
		Endpoint_Write_8(MemoryCRC >> 16);
 | 
			
		||||
		Endpoint_Write_16_LE(MemoryCRC & 0xFFFF);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
| 
						 | 
				
			
			@ -438,22 +438,22 @@ static void XPROGProtocol_SetParam(void)
 | 
			
		|||
{
 | 
			
		||||
	uint8_t ReturnStatus = XPRG_ERR_OK;
 | 
			
		||||
 | 
			
		||||
	uint8_t XPROGParam = Endpoint_Read_Byte();
 | 
			
		||||
	uint8_t XPROGParam = Endpoint_Read_8();
 | 
			
		||||
 | 
			
		||||
	/* Determine which parameter is being set, store the new parameter value */
 | 
			
		||||
	switch (XPROGParam)
 | 
			
		||||
	{
 | 
			
		||||
		case XPRG_PARAM_NVMBASE:
 | 
			
		||||
			XPROG_Param_NVMBase = Endpoint_Read_DWord_BE();
 | 
			
		||||
			XPROG_Param_NVMBase = Endpoint_Read_32_BE();
 | 
			
		||||
			break;
 | 
			
		||||
		case XPRG_PARAM_EEPPAGESIZE:
 | 
			
		||||
			XPROG_Param_EEPageSize = Endpoint_Read_Word_BE();
 | 
			
		||||
			XPROG_Param_EEPageSize = Endpoint_Read_16_BE();
 | 
			
		||||
			break;
 | 
			
		||||
		case XPRG_PARAM_NVMCMD_REG:
 | 
			
		||||
			XPROG_Param_NVMCMDRegAddr = Endpoint_Read_Byte();
 | 
			
		||||
			XPROG_Param_NVMCMDRegAddr = Endpoint_Read_8();
 | 
			
		||||
			break;
 | 
			
		||||
		case XPRG_PARAM_NVMCSR_REG:
 | 
			
		||||
			XPROG_Param_NVMCSRRegAddr = Endpoint_Read_Byte();
 | 
			
		||||
			XPROG_Param_NVMCSRRegAddr = Endpoint_Read_8();
 | 
			
		||||
			break;
 | 
			
		||||
		default:
 | 
			
		||||
			ReturnStatus = XPRG_ERR_FAILED;
 | 
			
		||||
| 
						 | 
				
			
			@ -464,9 +464,9 @@ static void XPROGProtocol_SetParam(void)
 | 
			
		|||
	Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
 | 
			
		||||
	Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Byte(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_Byte(XPRG_CMD_SET_PARAM);
 | 
			
		||||
	Endpoint_Write_Byte(ReturnStatus);
 | 
			
		||||
	Endpoint_Write_8(CMD_XPROG);
 | 
			
		||||
	Endpoint_Write_8(XPRG_CMD_SET_PARAM);
 | 
			
		||||
	Endpoint_Write_8(ReturnStatus);
 | 
			
		||||
	Endpoint_ClearIN();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue