#include "Scale.h"
#include "Display.h"
#include <Arduino.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
Display display(64, 64); // 中心點 (64, 64)
Scale scale(64, 64);
// 任務處理函數:測重
void measureTask(void *parameter) {
for (;;) {
scale.measure();
vTaskDelay(100 / portTICK_PERIOD_MS); // 每100ms測量一次
}
}
void setup() {
Serial.begin(115200);
scale.begin();
display.begin();
// 創建測重任務處理執行緒
xTaskCreatePinnedToCore(
measureTask, // 任務函數
"MeasureTask", // 任務名稱
2048, // 任務堆疊大小(以字節為單位)
NULL, // 任務參數
1, // 任務優先級
NULL, // 任務句柄
1 // 指定到核心1
);
}
void loop() {
// 在主執行緒處理繪圖
int* scaleXY = scale.getScaleXY();
display.refreshScreen(scaleXY[0], scaleXY[1]);
vTaskDelay(100 / portTICK_PERIOD_MS); // 每100ms更新一次畫面
}