Skip to content

Commit 00df5e6

Browse files
committed
add TurnFunction
1 parent 50fa8e4 commit 00df5e6

File tree

4 files changed

+22
-2
lines changed

4 files changed

+22
-2
lines changed

src/Stackchan_Takao_Base.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ PowerStatus checkTakaoBasePowerStatus(m5::Power_Class* power, int16_t battery_th
2020
return PowerStatus::Battery;
2121
}
2222

23-
if (power->getExtOutput() && (power->getBatteryCurrent() >= 0) {
23+
if (power->getExtOutput() && (power->getBatteryCurrent() >= 0)) {
2424
// M5StackのUSB-C端子から給電されている状態。
2525
power->setLed(80);
2626
return PowerStatus::SidePower;
@@ -29,7 +29,7 @@ PowerStatus checkTakaoBasePowerStatus(m5::Power_Class* power, int16_t battery_th
2929
if (power->getBatteryLevel() < battery_threshold) {
3030
// Batteryの電圧が閾値よりも下がったときの処理
3131
power->setExtOutput(false); // 後側のUSB-Cの給電状態を把握するためにfalseにする必要があります。
32-
if (power->getVBUSVoltage() > 3000) {
32+
if (power->getBatteryCurrent() > 0) {
3333
// 後ろから給電されている状態。
3434
power->setLed(80);
3535
return PowerStatus::BackPower;

src/Stackchan_servo.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,24 @@ void StackchanSERVO::moveXY(servo_param_s servo_param_x, servo_param_s servo_par
230230
_last_degree_y = servo_param_y.degree;
231231
}
232232

233+
// @uint32_t speed 0〜1000
234+
void StackchanSERVO::turnX(uint32_t speed, bool is_cw, uint32_t millis_for_move) {
235+
if (speed >= 1000) {
236+
speed = 1000;
237+
}
238+
if (is_cw) {
239+
speed += 1000; // 逆回転時は+1000
240+
}
241+
Serial.printf("speed: %d\n", speed);
242+
_sc.PWMMode(1, true); // 回転モード
243+
_isMoving = true;
244+
_sc.WritePWM(1, speed);
245+
vTaskDelay(millis_for_move/portTICK_PERIOD_MS);
246+
_isMoving = false;
247+
_sc.PWMMode(1, false); // 位置決めモードへ戻す
248+
return;
249+
}
250+
233251
void StackchanSERVO::motion(Motion motion_number) {
234252
if (motion_number == nomove) return;
235253
moveXY(90, 75, 500);

src/Stackchan_servo.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ class StackchanSERVO {
8181
void moveY(servo_param_s servo_param_y);
8282
void moveXY(servo_param_s servo_param_x, servo_param_s servo_param_y);
8383
void motion(Motion motion_no);
84+
void turnX(uint32_t speed, bool is_cw, uint32_t millis_for_move);
8485
bool isMoving() { return _isMoving; }
8586
};
8687
#endif // _STACKCHAN_SERVO_H_

src/Stackchan_system_config.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ void StackchanSystemConfig::setSystemConfig(DynamicJsonDocument doc) {
187187
_servo_type = ServoType::PWM;
188188
}
189189
_secret_config_show = doc["secret_config_show"].as<bool>();
190+
190191
}
191192

192193
void StackchanSystemConfig::setSecretConfig(DynamicJsonDocument doc) {

0 commit comments

Comments
 (0)