Skip to content

KeioRoboticsAssociation/rogilinkFlex-esp32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rogilinkFlex-esp32

現在開発中の汎用通信ライブラリrogiLinkFlexのESP32実装です。 動作未確認です。UART通信のみに対応しています。従来のrogilinkに比べて、送受信するデータ型を柔軟に設定できるようになっています。マイコン同士の通信、マイコンとPCの通信にも使えます。

Other Environments

使い方(UART通信)

インクルード

#include "UartLink.hpp"

インスタンスの生成

UartLink uart(シリアル);

シリアル: HardwareSerialクラスのインスタンス

データの送信

UartLinkPublisher<データ型1, データ型2, ...> pub(uart, フレームID); // publisherの設定

pub.publish(データ1, データ2, ...);

UartLinkPublisher<char*>の場合は、printfを使うことができます。

pub.printf("a: %d, b: %d, c: %d\n", a, b, c);

データの受信

UartLinkSubscriber<データ型1, データ型2, ...> sub(uart, フレームID); // subscriberの設定

void callback(データ型1, データ型2, ...) {
    // コールバック関数
}

void setup() {
    sub.set_callback(callback); // コールバック関数の設定
}

void loop() {
    uart.loop(); // メインループ内でloop関数を呼び出す
    delay(1);
}

使用例

#include <Arduino.h>
#include "UartLink.hpp"

UartLink uart(Serial); // UART通信の設定

UartLinkSubscriber<uint8_t, uint16_t, uint8_t> sub(uart, 1); // Subscriber(受信側)の設定
UartLinkPublisher<char*> pub(uart, 2); // Publisher(送信側)の設定

// Subscriberのコールバック関数
void sub_callback(uint8_t a, uint16_t b, uint8_t c) {
    pub.printf("a: %d, b: %d, c: %d\n", a, b, c);
}

// main関数
void setup() {
    sub.set_callback(sub_callback);
}

void loop() {
    uart.loop();
    delay(1);
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages