SIO Command $D0 Base64 Encode Input - FujiNetWIFI/fujinet-firmware GitHub Wiki
This is a command for Device $70 - The FujiNet Device itself (see SIO-Commands-for-Device-ID-$70).
Base64 Encode Input ($D0)
Description
Puts data in the FujiNet's Base64 input buffer for decoding by Base64 Encode Compute, which should be the function called after this command has input all the data to encode. This command can be called as many times as needed to input data at up to 65535 bytes at a time.
Because DAUX is used to tell the FujiNet how many bytes to expect, both DBUF and DAUX must be set to the same value.
Firmware version required: 1.1 (2023.08.22) +
Parameters
DCB | Value |
---|---|
DDEVIC | $70 |
DUNIT | $01 |
DCOMND | $D0 |
DSTATS | $80 |
DBUF | A buffer as big as specified by DBYT/DAUX |
DTIMLO | $03 |
DBYT | number of bytes to input |
DAUX1 | number of bytes to input (LO) |
DAUX2 | number of bytes to input (HI) |
Examples
CC65
unsigned char base64_encode_input(char* buf, unsigned short len)
{
OS.dcb.ddevic = BASE64_DEVICE;
OS.dcb.dunit = 1;
OS.dcb.dcomnd = 0xD0;
OS.dcb.dstats = 0x80;
OS.dcb.dbuf = buf;
OS.dcb.dtimlo = BASE64_TIMEOUT;
OS.dcb.dbyt = len;
OS.dcb.daux = len;
siov();
return OS.dcb.dstats; // Return SIO error or success.
}