Hey Kody Stribrny,
Never mind - I fixed the hard fault error. It was a mistake in my code.
However, the link to the demo on the announcement page appears to be broken.
As per your recommendation, I’m now using the new modular OTA library.
I find it a bit confusing, especially regarding OTA_Init()
.
Are all the fields in the OtaAppBuffer_t
structure required for a custom OTA job?
For reference, here’s how I’m initializing the buffer:
/**
* @brief The buffer passed to the OTA Agent from the application during initialization.
*/
static OtaAppBuffer_t ota_buffer =
{
.pUpdateFilePath = update_file_path,
.updateFilePathsize = OTA_MAX_FILE_PATH_SIZE,
.pCertFilePath = cert_file_path,
.certFilePathSize = OTA_MAX_FILE_PATH_SIZE,
.pDecodeMemory = decode_mem,
.decodeMemorySize = config_OTA_FILE_BLOCK_SIZE,
.pFileBitmap = bitmap,
.fileBitmapSize = OTA_MAX_BLOCK_BITMAP_SIZE,
.pUrl = update_url,
.urlSize = OTA_MAX_URL_SIZE,
.pAuthScheme = auth_scheme,
.authSchemeSize = OTA_MAX_AUTH_SCHEME_SIZE
};
Are all of these fields strictly necessary, or can some be omitted for custom OTA implementations?