소켓 통신 프로토콜 구조체 재정의
작업 중 의견 교환한 바와 같이 서버와 클라이언트 간 소켓 통신 시 주고받는 통신 데이터 구조체를 추가합니다.
includes/types.h
에 선언되어 있으며 구조는 다음과 같습니다.
typedef struct {
int id;
int note;
int volume;
} payload_t;
typedef enum {
ID_BUTTONS = 0,
ID_ULTRASONIC,
ID_WATERLEVEL,
ID_ACCEL
} socket_id_t;
구조체의 각 멤버 값은 다음과 같이 정합니다.
data | range | exception handling |
---|---|---|
id | socket_id_t | - |
note | 30-110(sensors) | server(rpi-amp) |
volume | 0-100(sensors) | server(rpi-amp) |
- 측정한 센서 데이터를 range에 맞게 변환하는 작업은 각 센서 모듈에서 수행합니다.
- 전송하는 데이터가 range를 벗어나는 경우에 대한 예외 처리는 앰프 서버 모듈에서 수행합니다.
Edited by 오병준