Memory sample application.
This sampple app demonstrates how to get/set controller memory.
#include "rsi.h"
#include "SampleAppsHelper.h"
#include "SampleApps.h"
int Memory::Run()
{
const int AXIS_COUNT = 1;
const int AXIS_NUMBER = 0;
USE_HARDWARE = false;
uint64_t addr;
if (USE_HARDWARE)
{
}
else
{
}
axis = controller->
AxisGet(AXIS_NUMBER);
try
{
addr = axis->
AddressGet(RSIAxisAddressType::RSIAxisAddressTypeACTUAL_POSITION);
printf(
"Axis Host address is 0x%llx Firmware Address is 0x%x\n", addr, controller->
FirmwareAddressGet(addr));
}
{
printf("\n%s\n", err.text);
return -1;
}
return 0;
}
uint64_t AddressGet(RSIAxisAddressType addressType)
Get the an address for some location on the Axis.
Represents a single axis of motion control. This class provides an interface for commanding motion,...
Axis * AxisGet(int32_t axisNumber)
AxisGet returns a pointer to an Axis object and initializes its internals.
uint32_t FirmwareAddressGet(uint64_t hostAddress)
Convert a host controller address to a firmware address.
void Delete(void)
Delete the MotionController and all its objects.
double MemoryDoubleGet(uint64_t address)
Read a 64-bit double value from controller memory.
Represents the RMP soft motion controller. This class provides an interface to general controller con...
Represents the error details thrown as an exception by all RapidCode classes. This class contains an ...
static void SetupControllerForHardware(MotionController *controller)
Sets up the controller for hardware use by resetting it and starting the network.
static void CheckErrors(RapidCodeObject *rsiObject)
Checks for errors in the given RapidCodeObject and throws an exception if any non-warning errors are ...
static void SetupControllerForPhantoms(MotionController *controller, int axisCount, std::vector< int > axisNums)
Sets up the controller for phantom axes, including configuring specified axes as phantom.