feature/servo_motor_component #17
@ -1,22 +1,29 @@
|
||||
#include "ServoMotorComponent.h"
|
||||
|
||||
ServoMotorComponent::ServoMotorComponent(int PIN, unsigned long updatePeriod) {
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
// Functions for setting up the ServoMotor
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* Prepares the ServoMotor.
|
||||
*/
|
||||
ServoMotorComponent::ServoMotorComponent(int PIN, unsigned long updatePeriod, float step) {
|
||||
this->PIN = PIN;
|
||||
this->myservo.attach(PIN);
|
||||
this->desiredposition = Position::MIDDLE;
|
||||
this->currentPosition = 0;
|
||||
this->currentPosition = 32;
|
||||
|
||||
this->lastUpTime = millis();
|
||||
this->updatePeriod = updatePeriod;
|
||||
this->step = step;
|
||||
this->myservo.write(this->PIN, this->currentPosition);
|
||||
Clement
commented
Nom des variables pas claire Nom des variables pas claire
|
||||
}
|
||||
|
||||
int ServoMotorComponent::getCurrentPosition() {
|
||||
return this->myservo.read(this->PIN);
|
||||
}
|
||||
|
||||
void ServoMotorComponent::setCurrentPosition() {
|
||||
this->currentPosition = this->myservo.read(this->PIN);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the desired position
|
||||
* @desiredPosition: Give desired position
|
||||
*/
|
||||
void ServoMotorComponent::setDesiredPosition(Position desiredPosition) {
|
||||
switch (desiredPosition) {
|
||||
case Position::LEFT:
|
||||
@ -34,6 +41,9 @@ void ServoMotorComponent::setDesiredPosition(Position desiredPosition) {
|
||||
}
|
||||
|
||||
Clement
commented
Limite faire en sorte de pouvoir configurer le pas dans le constructeur (avec une valeur par défaut) Limite faire en sorte de pouvoir configurer le pas dans le constructeur (avec une valeur par défaut)
en double ou float
|
||||
|
||||
/**
|
||||
* Write a new servoMotor position when it's necessary
|
||||
*/
|
||||
void ServoMotorComponent::refresh() {
|
||||
Clement marked this conversation as resolved
Outdated
Clement
commented
typo ctrl C typo ctrl C
|
||||
if (this->desiredposition == this->currentPosition
|
||||
|| millis() - this->lastUpTime <= this->updatePeriod) return;
|
||||
@ -46,11 +56,4 @@ void ServoMotorComponent::refresh() {
|
||||
}
|
||||
this->lastUpTime = millis();
|
||||
this->myservo.write(this->PIN, this->currentPosition);
|
||||
}
|
||||
|
||||
|
||||
void ServoMotorComponent::setPin(int PIN) {
|
||||
this->PIN = PIN;
|
||||
this->myservo.attach(PIN);
|
||||
return;
|
||||
}
|
@ -12,21 +12,18 @@ enum Position {
|
||||
class ServoMotorComponent
|
||||
Mathis marked this conversation as resolved
Outdated
Clement
commented
il n'y a pas d'interface il n'y a pas d'interface
|
||||
{
|
||||
public:
|
||||
ServoMotorComponent(int PIN, unsigned long updatePeriod);
|
||||
~ServoMotorComponent() = default;
|
||||
int getCurrentPosition();
|
||||
void setCurrentPosition();
|
||||
ServoMotorComponent(int PIN, unsigned long updatePeriod, float step = 1);
|
||||
void setDesiredPosition(Position desiredPosition);
|
||||
Clement
commented
tu peut viré le destructeur tu peut viré le destructeur
|
||||
void setPin(int PIN);
|
||||
void refresh();
|
||||
|
||||
Clement
commented
met des commentaire doxygen sur tes fonction met des commentaire doxygen sur tes fonction
|
||||
private:
|
||||
int PIN;
|
||||
int currentPosition;
|
||||
int desiredposition;
|
||||
float currentPosition;
|
||||
float desiredposition;
|
||||
Servo myservo;
|
||||
unsigned long lastUpTime;
|
||||
unsigned long updatePeriod;
|
||||
float step;
|
||||
};
|
||||
|
||||
|
||||
|
@ -2,17 +2,28 @@
|
||||
#include "Arduino.h"
|
||||
Clement
commented
vire tes changement dans Program.CPP avant de push vire tes changement dans Program.CPP avant de push
|
||||
#include "DolibarrClient.h"
|
||||
|
||||
int initialize_wifi(WifiConfig wifi) {
|
||||
WiFiClass::mode(WIFI_STA); //Optional
|
||||
WiFi.setSleep(false);
|
||||
WiFi.begin(wifi.ssid, wifi.password);
|
||||
Serial.print("Connecting ");
|
||||
while(WiFiClass::status() != WL_CONNECTED){
|
||||
delay(WAITING_WIFI_DELAY);
|
||||
Serial.print(".");
|
||||
}
|
||||
Serial.println("Connected to the WiFi network");
|
||||
return 0;
|
||||
}
|
||||
|
||||
Program::Program() {
|
||||
this->servo = new ServoMotorComponent(2);
|
||||
Serial.begin(MONITOR_SPEED);
|
||||
struct WifiConfig wifi_c = {WIFI_SSID, WIFI_PASSWORD};
|
||||
struct DolibarrConfig dolibarr = {DOLIBARR_URL, DOLIBARR_API_TOKEN};
|
||||
initialize_wifi(wifi_c);
|
||||
this->client = new DolibarrClient(dolibarr);
|
||||
}
|
||||
|
||||
void Program::loop() {
|
||||
// this->servo->goLeft();
|
||||
// delay(3000);
|
||||
this->servo->goMiddle();
|
||||
// delay(3000);
|
||||
// this->servo->goRight();
|
||||
// delay(3000);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user
???