2021-04-04 21:04:12 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <vector>
|
2022-01-16 18:54:58 +00:00
|
|
|
#include <cstdint>
|
2021-04-04 21:04:12 +01:00
|
|
|
|
2025-01-07 23:31:48 +00:00
|
|
|
#include "src/DebugToolDrivers/Protocols/CmsisDap/Command.hpp"
|
2021-04-04 21:04:12 +01:00
|
|
|
|
2022-02-28 16:27:24 +00:00
|
|
|
#include "AvrResponse.hpp"
|
|
|
|
|
|
2023-11-17 22:20:39 +00:00
|
|
|
namespace DebugToolDrivers::Microchip::Protocols::Edbg::Avr
|
2021-04-04 21:04:12 +01:00
|
|
|
{
|
2022-02-28 16:27:24 +00:00
|
|
|
/**
|
|
|
|
|
* AVR CMSIS-DAP vendor command.
|
|
|
|
|
*/
|
2024-07-23 21:14:22 +01:00
|
|
|
class AvrCommand: public ::DebugToolDrivers::Protocols::CmsisDap::Command
|
2021-04-04 21:04:12 +01:00
|
|
|
{
|
|
|
|
|
public:
|
2022-02-28 16:27:24 +00:00
|
|
|
/*
|
|
|
|
|
* AVR CMSIS-DAP vendor commands *do not* directly result in an AvrResponse object. The device will respond
|
|
|
|
|
* immediately upon receiving this command, simply acknowledging receipt of the command.
|
|
|
|
|
*
|
|
|
|
|
* If a response is expected to follow upon the execution of the AVR command, it must be requested from the
|
|
|
|
|
* device, using the AvrResponseCommand (see that class declaration for more info).
|
|
|
|
|
*
|
|
|
|
|
* For this reason, the ExpectedResponseType for this command is just the standard Response type.
|
|
|
|
|
*
|
|
|
|
|
* For more on the purpose of this alias, see the Command class.
|
|
|
|
|
*/
|
2023-11-17 22:20:39 +00:00
|
|
|
using ExpectedResponseType = ::DebugToolDrivers::Protocols::CmsisDap::Response;
|
2022-02-28 16:27:24 +00:00
|
|
|
|
2022-02-27 20:29:26 +00:00
|
|
|
AvrCommand(
|
|
|
|
|
std::size_t fragmentCount,
|
|
|
|
|
std::size_t fragmentNumber,
|
2022-10-01 20:42:37 +01:00
|
|
|
const std::vector<unsigned char>& commandPacket
|
|
|
|
|
);
|
2021-04-04 21:04:12 +01:00
|
|
|
};
|
|
|
|
|
}
|