#ifndef BASDA_MICROGATE_OPCODE_H
#define BASDA_MICROGATE_OPCODE_H


namespace Basda { namespace Microgate {

/**
 * @brief These op codes are valid numbers for the op code field in the MgpHeader.
 */
enum OpCode
{
	MGP_OP_WRSAME_DSP= 0,
	MGP_OP_RDSEQ_DSP= 2,
	MGP_OP_RESET_DEVICES= 10,
	MGP_OP_WRSAME_SDRAM= 141,
	MGP_OP_RDSEQ_SDRAM= 143,
	MGP_OP_WRSAME_SRAM= 146,
	MGP_OP_RDSEQ_SRAM= 148,
	MGP_OP_WRITE_CCDI= 155,
	MGP_OP_READ_CCDI= 156,
        MGP_OP_WR_SCIMEASURE_RAM= 135,
        MGP_OP_RD_SCIMEASURE_RAM= 138,
        MGP_OP_WR_DMXINETICS_RAM= 139

};


/**
 * @return true if \c opcode\c is an write op code.
 */
bool isWriteOpCode(OpCode opcode);


/**
 * @return true if \c opcode\c is an read op code.
 */
bool isReadOpCode(OpCode opcode);

}
}

#endif
