feat: 更新第九章
This commit is contained in:
30
chapt9/example_ultrasound/lib/PidController/PidController.h
Normal file
30
chapt9/example_ultrasound/lib/PidController/PidController.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#ifndef __PID_CONTROLLER_H__
|
||||
#define __PID_CONTROLLER_H__
|
||||
|
||||
|
||||
class PidController
|
||||
{
|
||||
public:
|
||||
PidController() = default;
|
||||
PidController(float kp, float ki, float kd, float dt);
|
||||
|
||||
private:
|
||||
float target_;
|
||||
float kp_;
|
||||
float ki_;
|
||||
float kd_;
|
||||
// pid
|
||||
float error_;
|
||||
float error_sum_;
|
||||
float derror_;
|
||||
float prev_error_;
|
||||
float intergral_up_ = 2500; // 积分上限
|
||||
|
||||
public:
|
||||
float update(float current); // 提供当前值,返回下次输出值,也就是PID的结果
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // __PID_CONTROLLER_H__
|
||||
46
chapt9/example_ultrasound/lib/README
Normal file
46
chapt9/example_ultrasound/lib/README
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
This directory is intended for project specific (private) libraries.
|
||||
PlatformIO will compile them to static libraries and link into executable file.
|
||||
|
||||
The source code of each library should be placed in an own separate directory
|
||||
("lib/your_library_name/[here are source files]").
|
||||
|
||||
For example, see a structure of the following two libraries `Foo` and `Bar`:
|
||||
|
||||
|--lib
|
||||
| |
|
||||
| |--Bar
|
||||
| | |--docs
|
||||
| | |--examples
|
||||
| | |--src
|
||||
| | |- Bar.c
|
||||
| | |- Bar.h
|
||||
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
|
||||
| |
|
||||
| |--Foo
|
||||
| | |- Foo.c
|
||||
| | |- Foo.h
|
||||
| |
|
||||
| |- README --> THIS FILE
|
||||
|
|
||||
|- platformio.ini
|
||||
|--src
|
||||
|- main.c
|
||||
|
||||
and a contents of `src/main.c`:
|
||||
```
|
||||
#include <Foo.h>
|
||||
#include <Bar.h>
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
PlatformIO Library Dependency Finder will find automatically dependent
|
||||
libraries scanning project source files.
|
||||
|
||||
More information about PlatformIO Library Dependency Finder
|
||||
- https://docs.platformio.org/page/librarymanager/ldf.html
|
||||
Reference in New Issue
Block a user