From 050636e4cf097af165fa2f74971abad78518f8fb Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Wed, 3 Jul 2024 00:12:35 -0700 Subject: [PATCH] fix miata vvt maf table copy --- firmware/config/engines/mazda_miata_vvt.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/firmware/config/engines/mazda_miata_vvt.cpp b/firmware/config/engines/mazda_miata_vvt.cpp index aadf583c04..3f1df03654 100644 --- a/firmware/config/engines/mazda_miata_vvt.cpp +++ b/firmware/config/engines/mazda_miata_vvt.cpp @@ -201,10 +201,18 @@ static const float mafTransferKgH[MAF_TRANSFER_SIZE] = { 350.00 }; +template +constexpr void copyArrayPartial(TDst (&dest)[NDest], const TSrc (&src)[NSrc]) { + static_assert(NDest >= NSrc, "Source array must be larger than destination."); + + for (size_t i = 0; i < NSrc; i++) { + dest[i] = src[i]; + } +} static void setMAFTransferFunction() { - memcpy(config->mafDecoding, mafTransferKgH, sizeof(mafTransferKgH)); - memcpy(config->mafDecodingBins, mafTransferVolts, sizeof(mafTransferVolts)); + copyArrayPartial(config->mafDecoding, mafTransferKgH); + copyArrayPartial(config->mafDecodingBins, mafTransferVolts); for (int i = MAF_TRANSFER_SIZE;imafDecodingBins[i] = config->mafDecodingBins[MAF_TRANSFER_SIZE - 1] + i * 0.01; config->mafDecoding[i] = config->mafDecoding[MAF_TRANSFER_SIZE - 1];