From b7c477b37ed1d0ecb5d8d67c02bd21ac1429d48f Mon Sep 17 00:00:00 2001 From: foglar Date: Sun, 28 Jan 2024 11:44:55 +0100 Subject: [PATCH] Documentation created - Serial reader read data, and outputs them - Sender send temperature - Receiver transmits data via serial --- .gitignore | 1 + 10DOF-pinout.webp | Bin 0 -> 17636 bytes NRF24L01-pinout.webp | Bin 0 -> 14432 bytes README.md | 79 ++- nrf24lo1-datasheet.pdf | Bin 0 -> 240242 bytes reciver_module/nRF24L01_reciever.ino | 22 + sender_module/Waveshare_10Dof-D.cpp | 743 +++++++++++++++++++++++++++ sender_module/Waveshare_10Dof-D.h | 236 +++++++++ sender_module/sender_module.ino | 59 +++ serial_read/go.mod | 7 + serial_read/go.sum | 4 + serial_read/main.go | 101 ++++ 12 files changed, 1251 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 10DOF-pinout.webp create mode 100644 NRF24L01-pinout.webp create mode 100644 nrf24lo1-datasheet.pdf create mode 100644 reciver_module/nRF24L01_reciever.ino create mode 100644 sender_module/Waveshare_10Dof-D.cpp create mode 100644 sender_module/Waveshare_10Dof-D.h create mode 100644 sender_module/sender_module.ino create mode 100644 serial_read/go.mod create mode 100644 serial_read/go.sum create mode 100644 serial_read/main.go diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6fe618f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +2024*.txt diff --git a/10DOF-pinout.webp b/10DOF-pinout.webp new file mode 100644 index 0000000000000000000000000000000000000000..f682c030ec6390fd09d2280887111cb0fc31f96d GIT binary patch literal 17636 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 GO8@{iOn?sn literal 0 HcmV?d00001 diff --git a/NRF24L01-pinout.webp b/NRF24L01-pinout.webp new file mode 100644 index 0000000000000000000000000000000000000000..42e107e2403446bd2a674903c97e404b119750c3 GIT binary patch literal 14432 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index dd7a256..0fe8657 100644 --- a/README.md +++ b/README.md @@ -1 +1,78 @@ -# Cobra +# CobraV2 + +## Overview + +`reciever_module` - folder with code for reciver which will send data to the pc +`sender_module` - folder with code for sender, which transmit data to the reciever and save it on the micro sd card +`serial_read` - read serial input and save it + +## Modules + +### 10 DOF IMU + +- **SDA** (Serial Data) +- **SCL** (Serial Clock) +- **INT** (Interrupt) is a digital interrupt output +- **FSYNC** is a frame sync signal + +### L76K GPS + +- **PPS** (Pulse per second) powers a led wich will blink and indicate that GPS is working +- **RX** (UART communication) +- **TX** (UART communication) + +### NRF24L01+ + +- **CE** (Chip Enable) is an active-high pin. When enabled, the nRF24L01 will either transmit or receive, depending on the mode. +- **CSN** (Chip Select Not) is an active-low pin that is typically held HIGH. When this pin goes low, the nRF24L01 begins listening for data on its SPI port and processes it accordingly. +- **SCK** (Serial Clock) accepts clock pulses from the SPI bus master. +- **MOSI** (Master Out Slave In) is the SPI input for the nRF24L01. +- **MISO** (Master In Slave Out) is the SPI output of the nRF24L01. +- **IRQ** is an interrupt pin that can notify the master when there is new data to process. + +## Wiring + +### 10 DOF IMU Sensor + +| Module | Arduino | Description | +| ------ | ------- | -------------- | +| VCC | 5V | Power input | +| GND | GND | Power ground | +| SDA | SDA | I2C data input | +| SCL | SCL | I2C clock pin | + +### L76K GPS Module + +| Module | Arduino | Description | +| ------ | ------- | -------------------- | +| VCC | 3.3V | Power input | +| GND | GND | Power ground | +| TX | RX | Serial communication | +| RX | TX | Serial communication | +| PPS | NC | Pulse per second | + +### NRF24L01+ Module + +| Module | Arduino | Description | +| ------ | ------- | --------------- | +| VCC | 3.3V | Power input | +| GND | GND | Power ground | +| CE | 9~ | Chip enable | +| CSN | 8 | Chip select not | +| SCK | 13 | Serial Clock | +| MOSI | 11~ | SPI master out | +| MISO | 12 | SPI master in | + +## Sources + +Datasheets, documentation and sources + +- [Waveshare 10 DOF IMU Sensor (D) - Arduino guide](https://www.waveshare.com/wiki/Template:10_DOF_IMU_Sensor_D_Arduino_Guide) +- [Waveshare 10 DOF IMU Sensor (C) - Demo code](https://files.waveshare.com/upload/c/c1/10_DOF_IMU_Sensor_D_Code.7z) +- [Waveshare 10 DOF IMU Sensor (C) - Documentation](https://www.waveshare.com/wiki/10_DOF_IMU_Sensor_(C)) +- [Waveshare L76K GPS Module - Arduino guide](https://www.waveshare.com/wiki/L76K_GPS_Module#Working_With_Arduino) +- [Waveshare L76K GPS Module - Demo code](https://files.waveshare.com/upload/9/94/L76K_GPS_Module_Arduino.zip) +- [NRF24L01+ PA/LNA - Arduino guide](https://lastminuteengineers.com/nrf24l01-arduino-wireless-communication/) +- [NRF24L01+ Guide - Guide](https://navody.dratek.cz/navody-k-produktum/arduino-wifi-modul-nrf24l01.html) +- [NRF24L01+ PA/LNA - Datasheet](nrf24lo1-datasheet.pdf) +- [NRF24L01+ PA/LNA - Demo code](https://img.gme.cz/files/eshop_data/eshop_data/10/775-034/prg.775-034.1.zip) diff --git a/nrf24lo1-datasheet.pdf b/nrf24lo1-datasheet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8c51c5823cda1e9dee9d32419553b8ff54ad2f86 GIT binary patch literal 240242 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

PpWLTN@=ccynC>`_|XJ5hCD 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Ω&d;7FF!yJCrfNw@xb$4GU2BmGOxr7l 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℘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 +#include +#include +RF24 radio(9, 8); // CE, CSN +const byte address[6] = "00001"; //address through which two modules communicate +void setup() { + while (!Serial) + ; + Serial.begin(9600); + Serial.println("Reciver init"); + radio.begin(); + radio.openReadingPipe(0, address); //set the address + radio.startListening(); //Set module as receiver +} +void loop() { + //Read the data if available in buffer + if (radio.available()) { + char text[32] = { 0 }; + radio.read(&text, sizeof(text)); + Serial.println(text); + } +} diff --git a/sender_module/Waveshare_10Dof-D.cpp b/sender_module/Waveshare_10Dof-D.cpp new file mode 100644 index 0000000..fd05fd2 --- /dev/null +++ b/sender_module/Waveshare_10Dof-D.cpp @@ -0,0 +1,743 @@ +/** + ****************************************************************************** + * @file Waveshare_10Dof-D.cpp + * @author Waveshare Team + * @version V1.0 + * @date Dec-2018 + * @brief T + + ****************************************************************************** + * @attention + * + * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS + * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE + * TIME. AS A RESULT, WAVESHARE SHALL NOT BE HELD LIABLE FOR ANY + * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING + * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE + * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. + * + *

© COPYRIGHT 2018 Waveshare

+ ****************************************************************************** + */ +#include "Waveshare_10Dof-D.h" +#include + +IMU_ST_SENSOR_DATA gstGyroOffset ={0,0,0}; +#ifdef __cplusplus +extern "C" { +#endif + +void imuAHRSupdate(float gx, float gy, float gz, float ax, float ay, float az, float mx, float my, float mz); +float invSqrt(float x); + +void icm20948init(void); +bool icm20948Check(void); +void icm20948GyroRead(int16_t* ps16X, int16_t* ps16Y, int16_t* ps16Z); +void icm20948AccelRead(int16_t* ps16X, int16_t* ps16Y, int16_t* ps16Z); +void icm20948MagRead(int16_t* ps16X, int16_t* ps16Y, int16_t* ps16Z); +bool icm20948MagCheck(void); +void icm20948CalAvgValue(uint8_t *pIndex, int16_t *pAvgBuffer, int16_t InVal, int32_t *pOutVal); +void icm20948GyroOffset(void); +void icm20948ReadSecondary(uint8_t u8I2CAddr, uint8_t u8RegAddr, uint8_t u8Len, uint8_t *pu8data); +void icm20948WriteSecondary(uint8_t u8I2CAddr, uint8_t u8RegAddr, uint8_t u8data); +bool icm20948Check(void); + +bool bmp280Check(void); +void bmp280Init(void); +/****************************************************************************** + * interface driver * + ******************************************************************************/ +uint8_t I2C_ReadOneByte(uint8_t DevAddr, uint8_t RegAddr) +{ + uint8_t value; + + Wire.beginTransmission(DevAddr); + Wire.write((byte)RegAddr); + Wire.endTransmission(); + + Wire.requestFrom(DevAddr, (byte)1); + value = Wire.read(); + + return value; +} + +void I2C_WriteOneByte(uint8_t DevAddr, uint8_t RegAddr, uint8_t value) +{ + Wire.beginTransmission(DevAddr); + Wire.write(RegAddr); + Wire.write(value); + Wire.endTransmission(); +} +/****************************************************************************** + * IMU module * + ******************************************************************************/ +#define Kp 4.50f // proportional gain governs rate of convergence to accelerometer/magnetometer +#define Ki 1.0f // integral gain governs rate of convergence of gyroscope biases + +float angles[3]; +float q0, q1, q2, q3; + +void imuInit(IMU_EN_SENSOR_TYPE *penMotionSensorType, IMU_EN_SENSOR_TYPE *penPressureType) +{ + bool bRet = false; + Wire.begin(); + bRet = icm20948Check(); + if( true == bRet) + { + *penMotionSensorType = IMU_EN_SENSOR_TYPE_ICM20948; + icm20948init(); + } + else + { + *penMotionSensorType = IMU_EN_SENSOR_TYPE_NULL; + } + + bRet = bmp280Check(); + if( true == bRet) + { + *penPressureType = IMU_EN_SENSOR_TYPE_BMP280; + bmp280Init(); + } + else + { + *penPressureType = IMU_EN_SENSOR_TYPE_NULL; + } + + q0 = 1.0f; + q1 = 0.0f; + q2 = 0.0f; + q3 = 0.0f; + + return; +} + +void imuDataGet(IMU_ST_ANGLES_DATA *pstAngles, + IMU_ST_SENSOR_DATA *pstGyroRawData, + IMU_ST_SENSOR_DATA *pstAccelRawData, + IMU_ST_SENSOR_DATA *pstMagnRawData) +{ + float MotionVal[9]; + int16_t s16Gyro[3], s16Accel[3], s16Magn[3]; + + icm20948AccelRead(&s16Accel[0], &s16Accel[1], &s16Accel[2]); + icm20948GyroRead(&s16Gyro[0], &s16Gyro[1], &s16Gyro[2]); + icm20948MagRead(&s16Magn[0], &s16Magn[1], &s16Magn[2]); + + MotionVal[0]=s16Gyro[0]/32.8; + MotionVal[1]=s16Gyro[1]/32.8; + MotionVal[2]=s16Gyro[2]/32.8; + MotionVal[3]=s16Accel[0]; + MotionVal[4]=s16Accel[1]; + MotionVal[5]=s16Accel[2]; + MotionVal[6]=s16Magn[0]; + MotionVal[7]=s16Magn[1]; + MotionVal[8]=s16Magn[2]; + imuAHRSupdate((float)MotionVal[0] * 0.0175, (float)MotionVal[1] * 0.0175, (float)MotionVal[2] * 0.0175, + (float)MotionVal[3], (float)MotionVal[4], (float)MotionVal[5], + (float)MotionVal[6], (float)MotionVal[7], MotionVal[8]); + + + pstAngles->fPitch = asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3; // pitch + pstAngles->fRoll = atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 + 1)* 57.3; // roll + pstAngles->fYaw = atan2(-2 * q1 * q2 - 2 * q0 * q3, 2 * q2 * q2 + 2 * q3 * q3 - 1) * 57.3; + + pstGyroRawData->s16X = s16Gyro[0]; + pstGyroRawData->s16Y = s16Gyro[1]; + pstGyroRawData->s16Z = s16Gyro[2]; + + pstAccelRawData->s16X = s16Accel[0]; + pstAccelRawData->s16Y = s16Accel[1]; + pstAccelRawData->s16Z = s16Accel[2]; + + pstMagnRawData->s16X = s16Magn[0]; + pstMagnRawData->s16Y = s16Magn[1]; + pstMagnRawData->s16Z = s16Magn[2]; + + return; +} + +void imuAHRSupdate(float gx, float gy, float gz, float ax, float ay, float az, float mx, float my, float mz) +{ + float norm; + float hx, hy, hz, bx, bz; + float vx, vy, vz, wx, wy, wz; + float exInt = 0.0, eyInt = 0.0, ezInt = 0.0; + float ex, ey, ez, halfT = 0.024f; + + float q0q0 = q0 * q0; + float q0q1 = q0 * q1; + float q0q2 = q0 * q2; + float q0q3 = q0 * q3; + float q1q1 = q1 * q1; + float q1q2 = q1 * q2; + float q1q3 = q1 * q3; + float q2q2 = q2 * q2; + float q2q3 = q2 * q3; + float q3q3 = q3 * q3; + + norm = invSqrt(ax * ax + ay * ay + az * az); + ax = ax * norm; + ay = ay * norm; + az = az * norm; + + norm = invSqrt(mx * mx + my * my + mz * mz); + mx = mx * norm; + my = my * norm; + mz = mz * norm; + + // compute reference direction of flux + hx = 2 * mx * (0.5f - q2q2 - q3q3) + 2 * my * (q1q2 - q0q3) + 2 * mz * (q1q3 + q0q2); + hy = 2 * mx * (q1q2 + q0q3) + 2 * my * (0.5f - q1q1 - q3q3) + 2 * mz * (q2q3 - q0q1); + hz = 2 * mx * (q1q3 - q0q2) + 2 * my * (q2q3 + q0q1) + 2 * mz * (0.5f - q1q1 - q2q2); + bx = sqrt((hx * hx) + (hy * hy)); + bz = hz; + + // estimated direction of gravity and flux (v and w) + vx = 2 * (q1q3 - q0q2); + vy = 2 * (q0q1 + q2q3); + vz = q0q0 - q1q1 - q2q2 + q3q3; + wx = 2 * bx * (0.5 - q2q2 - q3q3) + 2 * bz * (q1q3 - q0q2); + wy = 2 * bx * (q1q2 - q0q3) + 2 * bz * (q0q1 + q2q3); + wz = 2 * bx * (q0q2 + q1q3) + 2 * bz * (0.5 - q1q1 - q2q2); + + // error is sum of cross product between reference direction of fields and direction measured by sensors + ex = (ay * vz - az * vy) + (my * wz - mz * wy); + ey = (az * vx - ax * vz) + (mz * wx - mx * wz); + ez = (ax * vy - ay * vx) + (mx * wy - my * wx); + + if(ex != 0.0f && ey != 0.0f && ez != 0.0f) + { + exInt = exInt + ex * Ki * halfT; + eyInt = eyInt + ey * Ki * halfT; + ezInt = ezInt + ez * Ki * halfT; + + gx = gx + Kp * ex + exInt; + gy = gy + Kp * ey + eyInt; + gz = gz + Kp * ez + ezInt; + } + + q0 = q0 + (-q1 * gx - q2 * gy - q3 * gz) * halfT; + q1 = q1 + (q0 * gx + q2 * gz - q3 * gy) * halfT; + q2 = q2 + (q0 * gy - q1 * gz + q3 * gx) * halfT; + q3 = q3 + (q0 * gz + q1 * gy - q2 * gx) * halfT; + + norm = invSqrt(q0 * q0 + q1 * q1 + q2 * q2 + q3 * q3); + q0 = q0 * norm; + q1 = q1 * norm; + q2 = q2 * norm; + q3 = q3 * norm; +} + +float invSqrt(float x) +{ + float halfx = 0.5f * x; + float y = x; + + long i = *(long*)&y; //get bits for floating value + i = 0x5f3759df - (i >> 1); //gives initial guss you + y = *(float*)&i; //convert bits back to float + y = y * (1.5f - (halfx * y * y)); //newtop step, repeating increases accuracy + + return y; +} +/****************************************************************************** + * icm20948 sensor device * + ******************************************************************************/ +void icm20948init(void) +{ + /* user bank 0 register */ + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_REG_BANK_SEL, REG_VAL_REG_BANK_0); + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_PWR_MIGMT_1, REG_VAL_ALL_RGE_RESET); + delay(10); + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_PWR_MIGMT_1, REG_VAL_RUN_MODE); + + /* user bank 2 register */ + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_REG_BANK_SEL, REG_VAL_REG_BANK_2); + I2C_WriteOneByte( I2C_ADD_ICM20948, REG_ADD_GYRO_SMPLRT_DIV, 0x07); + I2C_WriteOneByte( I2C_ADD_ICM20948, REG_ADD_GYRO_CONFIG_1, + REG_VAL_BIT_GYRO_DLPCFG_6 | REG_VAL_BIT_GYRO_FS_1000DPS | REG_VAL_BIT_GYRO_DLPF); + I2C_WriteOneByte( I2C_ADD_ICM20948, REG_ADD_ACCEL_SMPLRT_DIV_2, 0x07); + I2C_WriteOneByte( I2C_ADD_ICM20948, REG_ADD_ACCEL_CONFIG, + REG_VAL_BIT_ACCEL_DLPCFG_6 | REG_VAL_BIT_ACCEL_FS_2g | REG_VAL_BIT_ACCEL_DLPF); + + /* user bank 0 register */ + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_REG_BANK_SEL, REG_VAL_REG_BANK_0); + + delay(100); + /* offset */ + icm20948GyroOffset(); + + icm20948MagCheck(); + + icm20948WriteSecondary( I2C_ADD_ICM20948_AK09916|I2C_ADD_ICM20948_AK09916_WRITE, + REG_ADD_MAG_CNTL2, REG_VAL_MAG_MODE_20HZ); + return; +} + +bool icm20948Check(void) +{ + bool bRet = false; + if(REG_VAL_WIA == I2C_ReadOneByte(I2C_ADD_ICM20948, REG_ADD_WIA)) + { + bRet = true; + } + return bRet; +} +void icm20948GyroRead(int16_t* ps16X, int16_t* ps16Y, int16_t* ps16Z) +{ + uint8_t u8Buf[6]; + int16_t s16Buf[3] = {0}; + uint8_t i; + int32_t s32OutBuf[3] = {0}; + static ICM20948_ST_AVG_DATA sstAvgBuf[3]; + static int16_t ss16c = 0; + ss16c++; + + u8Buf[0]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_GYRO_XOUT_L); + u8Buf[1]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_GYRO_XOUT_H); + s16Buf[0]= (u8Buf[1]<<8)|u8Buf[0]; + + u8Buf[0]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_GYRO_YOUT_L); + u8Buf[1]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_GYRO_YOUT_H); + s16Buf[1]= (u8Buf[1]<<8)|u8Buf[0]; + + u8Buf[0]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_GYRO_ZOUT_L); + u8Buf[1]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_GYRO_ZOUT_H); + s16Buf[2]= (u8Buf[1]<<8)|u8Buf[0]; + + for(i = 0; i < 3; i ++) + { + icm20948CalAvgValue(&sstAvgBuf[i].u8Index, sstAvgBuf[i].s16AvgBuffer, s16Buf[i], s32OutBuf + i); + } + *ps16X = s32OutBuf[0] - gstGyroOffset.s16X; + *ps16Y = s32OutBuf[1] - gstGyroOffset.s16Y; + *ps16Z = s32OutBuf[2] - gstGyroOffset.s16Z; + + return; +} +void icm20948AccelRead(int16_t* ps16X, int16_t* ps16Y, int16_t* ps16Z) +{ + uint8_t u8Buf[2]; + int16_t s16Buf[3] = {0}; + uint8_t i; + int32_t s32OutBuf[3] = {0}; + static ICM20948_ST_AVG_DATA sstAvgBuf[3]; + + u8Buf[0]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_ACCEL_XOUT_L); + u8Buf[1]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_ACCEL_XOUT_H); + s16Buf[0]= (u8Buf[1]<<8)|u8Buf[0]; + + u8Buf[0]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_ACCEL_YOUT_L); + u8Buf[1]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_ACCEL_YOUT_H); + s16Buf[1]= (u8Buf[1]<<8)|u8Buf[0]; + + u8Buf[0]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_ACCEL_ZOUT_L); + u8Buf[1]=I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_ACCEL_ZOUT_H); + s16Buf[2]= (u8Buf[1]<<8)|u8Buf[0]; + + for(i = 0; i < 3; i ++) + { + icm20948CalAvgValue(&sstAvgBuf[i].u8Index, sstAvgBuf[i].s16AvgBuffer, s16Buf[i], s32OutBuf + i); + } + *ps16X = s32OutBuf[0]; + *ps16Y = s32OutBuf[1]; + *ps16Z = s32OutBuf[2]; + + return; + +} +void icm20948MagRead(int16_t* ps16X, int16_t* ps16Y, int16_t* ps16Z) +{ + uint8_t counter = 20; + uint8_t u8Data[MAG_DATA_LEN]; + int16_t s16Buf[3] = {0}; + uint8_t i; + int32_t s32OutBuf[3] = {0}; + static ICM20948_ST_AVG_DATA sstAvgBuf[3]; + while( counter>0 ) + { + delay(10); + icm20948ReadSecondary( I2C_ADD_ICM20948_AK09916|I2C_ADD_ICM20948_AK09916_READ, + REG_ADD_MAG_ST2, 1, u8Data); + + if ((u8Data[0] & 0x01) != 0) + break; + + counter--; + } + + if(counter != 0) + { + icm20948ReadSecondary( I2C_ADD_ICM20948_AK09916|I2C_ADD_ICM20948_AK09916_READ, + REG_ADD_MAG_DATA, + MAG_DATA_LEN, + u8Data); + s16Buf[0] = ((int16_t)u8Data[1]<<8) | u8Data[0]; + s16Buf[1] = ((int16_t)u8Data[3]<<8) | u8Data[2]; + s16Buf[2] = ((int16_t)u8Data[5]<<8) | u8Data[4]; + } + + for(i = 0; i < 3; i ++) + { + icm20948CalAvgValue(&sstAvgBuf[i].u8Index, sstAvgBuf[i].s16AvgBuffer, s16Buf[i], s32OutBuf + i); + } + + *ps16X = s32OutBuf[0]; + *ps16Y = -s32OutBuf[1]; + *ps16Z = -s32OutBuf[2]; + return; +} + +void icm20948ReadSecondary(uint8_t u8I2CAddr, uint8_t u8RegAddr, uint8_t u8Len, uint8_t *pu8data) +{ + uint8_t i; + uint8_t u8Temp; + + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_REG_BANK_SEL, REG_VAL_REG_BANK_3); //swtich bank3 + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_I2C_SLV0_ADDR, u8I2CAddr); + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_I2C_SLV0_REG, u8RegAddr); + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_I2C_SLV0_CTRL, REG_VAL_BIT_SLV0_EN|u8Len); + + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_REG_BANK_SEL, REG_VAL_REG_BANK_0); //swtich bank0 + + u8Temp = I2C_ReadOneByte(I2C_ADD_ICM20948,REG_ADD_USER_CTRL); + u8Temp |= REG_VAL_BIT_I2C_MST_EN; + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_USER_CTRL, u8Temp); + delay(5); + u8Temp &= ~REG_VAL_BIT_I2C_MST_EN; + I2C_WriteOneByte(I2C_ADD_ICM20948, REG_ADD_USER_CTRL, u8Temp); + + for(i=0; i>= 3; +} + +void icm20948GyroOffset(void) +{ + uint8_t i; + int16_t s16Gx = 0, s16Gy = 0, s16Gz = 0; + int32_t s32TempGx = 0, s32TempGy = 0, s32TempGz = 0; + for(i = 0; i < 32; i ++) + { + icm20948GyroRead(&s16Gx, &s16Gy, &s16Gz); + s32TempGx += s16Gx; + s32TempGy += s16Gy; + s32TempGz += s16Gz; + delay(10); + } + gstGyroOffset.s16X = s32TempGx >> 5; + gstGyroOffset.s16Y = s32TempGy >> 5; + gstGyroOffset.s16Z = s32TempGz >> 5; + return; +} + +bool icm20948MagCheck(void) +{ + bool bRet = false; + uint8_t u8Ret[2]; + + icm20948ReadSecondary( I2C_ADD_ICM20948_AK09916|I2C_ADD_ICM20948_AK09916_READ, + REG_ADD_MAG_WIA1, 2,u8Ret); + if( (u8Ret[0] == REG_VAL_MAG_WIA1) && ( u8Ret[1] == REG_VAL_MAG_WIA2) ) + { + bRet = true; + } + + return bRet; +} + +/****************************************************************************** + * BMP280 sensor device * + ******************************************************************************/ + typedef struct { + uint16_t T1; /*>3) - ((int64_t)dig_T1 <<1))) *((int64_t)dig_T2)) >> 11; + var2 = (((((adc_T>>4) - ((int64_t)dig_T1)) *((adc_T>>4) - ((int64_t)dig_T1))) >> 12) * + ((int64_t)dig_T3)) >> 14; + t_fine = var1 + var2; + + temperature = (t_fine * 5 + 128) >> 8; + + return (float)temperature; +} + +float bmp280CompensatePressure(int32_t adc_P) +{ + int64_t var1, var2; + uint64_t pressure; +#if 1 + var1 = ((int64_t)t_fine) - 128000; + var2 = var1 * var1 * (int64_t)dig_P6; + var2 = var2 + ((var1*(int64_t)dig_P5)<<17); + var2 = var2 + (((int64_t)dig_P4)<<35); + var1 = ((var1 * var1 * (int64_t)dig_P3)>>8) + ((var1 * (int64_t)dig_P2)<<12); + var1 = (((((int64_t)1)<<47)+var1))*((int64_t)dig_P1)>>33; + + if (var1 == 0) { + return 0; // avoid exception caused by division by zero + } + + pressure = 1048576.0 - adc_P; + pressure = (((pressure<<31) - var2)*3125) / var1; + var1 = (((int64_t)dig_P9) * (pressure>>13) * (pressure>>13)) >> 25; + var2 = (((int64_t)dig_P8) * pressure) >> 19; + pressure = ((pressure + var1 + var2) >> 8) + (((int64_t)dig_P7)<<4); + return (float)pressure/256; +#else + var1 = (((int64_t)t_fine)>>1) - (int64_t)64000; + var2 = (((var1>>2) * (var1>>2)) >> 11 ) *((int64_t)dig_P6); + var2 = var2 + ((var1 *((int64_t)dig_P5))<<1); + var2 = (var2>>2) + (((int64_t)dig_P4)<<16); + var1 = (((dig_P3 * (((var1>>2) * (var1>>2))>>13))>>3) + ((((int64_t)dig_P2) * var1)>>1))>>18; + var1 = ((((32768+var1))*((int64_t)dig_P1))>>15); + if(var1 ==0) + { + return 0; + } + pressure = (1048576.0 - adc_P) - (var2>>12)*3125; + if(pressure < 0x80000000) + { + pressure = (pressure<<1)/((uint64_t)var1); + } + else + { + pressure = (pressure/(uint64_t)var1)*2; + } + var1 = (((int64_t)dig_P9) *((int64_t)(((pressure>>3)*(pressure>>3))>>13)))>>12; + var2 = (((int64_t)(pressure>>2))*((int64_t)dig_P8))>>13; + pressure = (uint64_t)((int64_t)pressure) +((var1 + var2 + dig_P7)>>4); + return (float)pressure; +#endif + +} + +void bmp280TandPGet(float *temperature, float *pressure) +{ + uint8_t lsb, msb, xlsb; + int32_t adc_P,adc_T; + + xlsb = I2C_ReadOneByte(BMP280_ADDR, BMP280_TEMP_XLSB_REG); + lsb = I2C_ReadOneByte(BMP280_ADDR, BMP280_TEMP_LSB_REG); + msb = I2C_ReadOneByte(BMP280_ADDR, BMP280_TEMP_MSB_REG); + //adc_T = (msb << 12) | (lsb << 4) | (xlsb >> 4); + adc_T = msb; + adc_T <<= 8; + adc_T |= lsb; + adc_T <<= 8; + adc_T |= xlsb; + adc_T >>= 4; + //adc_T = 415148; + *temperature = bmp280CompensateTemperature(adc_T); + + xlsb = I2C_ReadOneByte(BMP280_ADDR, BMP280_PRESS_XLSB_REG); + lsb = I2C_ReadOneByte(BMP280_ADDR, BMP280_PRESS_LSB_REG); + msb = I2C_ReadOneByte(BMP280_ADDR, BMP280_PRESS_MSB_REG); + //adc_P = (msb << 12) | (lsb << 4) | (xlsb >> 4); + adc_P = msb; + adc_P <<= 8; + adc_P |= lsb; + adc_P <<= 8; + adc_P |= xlsb; + adc_P >>= 4; + //adc_P = 51988; + *pressure = bmp280CompensatePressure(adc_P); +} + +void bmp280CalAvgValue(uint8_t *pIndex, int32_t *pAvgBuffer, int32_t InVal, int32_t *pOutVal) +{ + uint8_t i; + + *(pAvgBuffer + ((*pIndex) ++)) = InVal; + *pIndex &= 0x07; + + *pOutVal = 0; + for(i = 0; i < 8; i ++) + { + *pOutVal += *(pAvgBuffer + i); + } + *pOutVal >>= 3; +} + +void bmp280CalculateAbsoluteAltitude(int32_t *pAltitude, int32_t PressureVal) +{ + *pAltitude = 4433000 * (1 - pow((PressureVal / (float)gs32Pressure0), 0.1903)); +} + +void pressSensorDataGet(int32_t *ps32Temperature, int32_t *ps32Pressure, int32_t *ps32Altitude) +{ + float CurPressure, CurTemperature; + int32_t CurAltitude; + static BMP280_AvgTypeDef BMP280_Filter[3]; + + bmp280TandPGet(&CurTemperature, &CurPressure); + bmp280CalAvgValue(&BMP280_Filter[0].Index, BMP280_Filter[0].AvgBuffer, (int32_t)(CurPressure), ps32Pressure); + + bmp280CalculateAbsoluteAltitude(&CurAltitude, (*ps32Pressure)); + bmp280CalAvgValue(&BMP280_Filter[1].Index, BMP280_Filter[1].AvgBuffer, CurAltitude, ps32Altitude); + bmp280CalAvgValue(&BMP280_Filter[2].Index, BMP280_Filter[2].AvgBuffer, (int32_t)CurTemperature, ps32Temperature); + return; +} + +#ifdef __cplusplus +} +#endif diff --git a/sender_module/Waveshare_10Dof-D.h b/sender_module/Waveshare_10Dof-D.h new file mode 100644 index 0000000..dfbd978 --- /dev/null +++ b/sender_module/Waveshare_10Dof-D.h @@ -0,0 +1,236 @@ +/** + ****************************************************************************** + * @file Waveshare_10Dof-D.h + * @author Waveshare Team + * @version V1.0 + * @date Dec-2018 + * @brief + + ****************************************************************************** + * @attention + * + * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS + * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE + * TIME. AS A RESULT, WAVESHARE SHALL NOT BE HELD LIABLE FOR ANY + * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING + * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE + * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. + * + *

© COPYRIGHT 2018 Waveshare

+ ****************************************************************************** + */ +#ifndef __Waveshare_10DOF_D_H__ +#define __Waveshare_10DOF_D_H__ +#if ARDUINO >= 100 + #include "Arduino.h" +#else + #include "WProgram.h" +#endif + +/* define ICM-20948 Device I2C address*/ +#define I2C_ADD_ICM20948 0x68 +#define I2C_ADD_ICM20948_AK09916 0x0C +#define I2C_ADD_ICM20948_AK09916_READ 0x80 +#define I2C_ADD_ICM20948_AK09916_WRITE 0x00 +/* define ICM-20948 Register */ +/* user bank 0 register */ +#define REG_ADD_WIA 0x00 + #define REG_VAL_WIA 0xEA +#define REG_ADD_USER_CTRL 0x03 + #define REG_VAL_BIT_DMP_EN 0x80 + #define REG_VAL_BIT_FIFO_EN 0x40 + #define REG_VAL_BIT_I2C_MST_EN 0x20 + #define REG_VAL_BIT_I2C_IF_DIS 0x10 + #define REG_VAL_BIT_DMP_RST 0x08 + #define REG_VAL_BIT_DIAMOND_DMP_RST 0x04 +#define REG_ADD_PWR_MIGMT_1 0x06 + #define REG_VAL_ALL_RGE_RESET 0x80 + #define REG_VAL_RUN_MODE 0x01 //Non low-power mode +#define REG_ADD_LP_CONFIG 0x05 +#define REG_ADD_PWR_MGMT_1 0x06 +#define REG_ADD_PWR_MGMT_2 0x07 +#define REG_ADD_ACCEL_XOUT_H 0x2D +#define REG_ADD_ACCEL_XOUT_L 0x2E +#define REG_ADD_ACCEL_YOUT_H 0x2F +#define REG_ADD_ACCEL_YOUT_L 0x30 +#define REG_ADD_ACCEL_ZOUT_H 0x31 +#define REG_ADD_ACCEL_ZOUT_L 0x32 +#define REG_ADD_GYRO_XOUT_H 0x33 +#define REG_ADD_GYRO_XOUT_L 0x34 +#define REG_ADD_GYRO_YOUT_H 0x35 +#define REG_ADD_GYRO_YOUT_L 0x36 +#define REG_ADD_GYRO_ZOUT_H 0x37 +#define REG_ADD_GYRO_ZOUT_L 0x38 +#define REG_ADD_EXT_SENS_DATA_00 0x3B +#define REG_ADD_REG_BANK_SEL 0x7F + #define REG_VAL_REG_BANK_0 0x00 + #define REG_VAL_REG_BANK_1 0x10 + #define REG_VAL_REG_BANK_2 0x20 + #define REG_VAL_REG_BANK_3 0x30 + +/* user bank 1 register */ +/* user bank 2 register */ +#define REG_ADD_GYRO_SMPLRT_DIV 0x00 +#define REG_ADD_GYRO_CONFIG_1 0x01 + #define REG_VAL_BIT_GYRO_DLPCFG_2 0x10 /* bit[5:3] */ + #define REG_VAL_BIT_GYRO_DLPCFG_4 0x20 /* bit[5:3] */ + #define REG_VAL_BIT_GYRO_DLPCFG_6 0x30 /* bit[5:3] */ + #define REG_VAL_BIT_GYRO_FS_250DPS 0x00 /* bit[2:1] */ + #define REG_VAL_BIT_GYRO_FS_500DPS 0x02 /* bit[2:1] */ + #define REG_VAL_BIT_GYRO_FS_1000DPS 0x04 /* bit[2:1] */ + #define REG_VAL_BIT_GYRO_FS_2000DPS 0x06 /* bit[2:1] */ + #define REG_VAL_BIT_GYRO_DLPF 0x01 /* bit[0] */ +#define REG_ADD_ACCEL_SMPLRT_DIV_2 0x11 +#define REG_ADD_ACCEL_CONFIG 0x14 + #define REG_VAL_BIT_ACCEL_DLPCFG_2 0x10 /* bit[5:3] */ + #define REG_VAL_BIT_ACCEL_DLPCFG_4 0x20 /* bit[5:3] */ + #define REG_VAL_BIT_ACCEL_DLPCFG_6 0x30 /* bit[5:3] */ + #define REG_VAL_BIT_ACCEL_FS_2g 0x00 /* bit[2:1] */ + #define REG_VAL_BIT_ACCEL_FS_4g 0x02 /* bit[2:1] */ + #define REG_VAL_BIT_ACCEL_FS_8g 0x04 /* bit[2:1] */ + #define REG_VAL_BIT_ACCEL_FS_16g 0x06 /* bit[2:1] */ + #define REG_VAL_BIT_ACCEL_DLPF 0x01 /* bit[0] */ + +/* user bank 3 register */ +#define REG_ADD_I2C_SLV0_ADDR 0x03 +#define REG_ADD_I2C_SLV0_REG 0x04 +#define REG_ADD_I2C_SLV0_CTRL 0x05 + #define REG_VAL_BIT_SLV0_EN 0x80 + #define REG_VAL_BIT_MASK_LEN 0x07 +#define REG_ADD_I2C_SLV0_DO 0x06 +#define REG_ADD_I2C_SLV1_ADDR 0x07 +#define REG_ADD_I2C_SLV1_REG 0x08 +#define REG_ADD_I2C_SLV1_CTRL 0x09 +#define REG_ADD_I2C_SLV1_DO 0x0A + +/* define ICM-20948 Register end */ + +/* define ICM-20948 MAG Register */ +#define REG_ADD_MAG_WIA1 0x00 + #define REG_VAL_MAG_WIA1 0x48 +#define REG_ADD_MAG_WIA2 0x01 + #define REG_VAL_MAG_WIA2 0x09 +#define REG_ADD_MAG_ST2 0x10 +#define REG_ADD_MAG_DATA 0x11 +#define REG_ADD_MAG_CNTL2 0x31 + #define REG_VAL_MAG_MODE_PD 0x00 + #define REG_VAL_MAG_MODE_SM 0x01 + #define REG_VAL_MAG_MODE_10HZ 0x02 + #define REG_VAL_MAG_MODE_20HZ 0x04 + #define REG_VAL_MAG_MODE_50HZ 0x05 + #define REG_VAL_MAG_MODE_100HZ 0x08 + #define REG_VAL_MAG_MODE_ST 0x10 +/* define ICM-20948 MAG Register end */ + +#define MAG_DATA_LEN 6 + +/* + * BMP280 I2c address + */ +#define BMP280_AD0_LOW 0x76 //address pin low (GND) +#define BMP280_AD0_HIGH 0x77 //address pin high (VCC) +#define BMP280_ADDR BMP280_AD0_HIGH // default I2C address +/* + * BMP280 register address + */ +#define BMP280_REGISTER_DIG_T1 0x88 +#define BMP280_REGISTER_DIG_T2 0x8A +#define BMP280_REGISTER_DIG_T3 0x8C + +#define BMP280_REGISTER_DIG_P1 0x8E +#define BMP280_REGISTER_DIG_P2 0x90 +#define BMP280_REGISTER_DIG_P3 0x92 +#define BMP280_REGISTER_DIG_P4 0x94 +#define BMP280_REGISTER_DIG_P5 0x96 +#define BMP280_REGISTER_DIG_P6 0x98 +#define BMP280_REGISTER_DIG_P7 0x9A +#define BMP280_REGISTER_DIG_P8 0x9C +#define BMP280_REGISTER_DIG_P9 0x9E + +#define BMP280_REGISTER_CHIPID 0xD0 +#define BMP280_REGISTER_VERSION 0xD1 +#define BMP280_REGISTER_SOFTRESET 0xE0 +#define BMP280_REGISTER_STATUS 0xF3 +#define BMP280_REGISTER_CONTROL 0xF4 +#define BMP280_REGISTER_CONFIG 0xF5 + +#define BMP280_TEMP_XLSB_REG 0xFC /*Temperature XLSB Register */ +#define BMP280_TEMP_LSB_REG 0xFB /*Temperature LSB Register */ +#define BMP280_TEMP_MSB_REG 0xFA /*Temperature LSB Register */ +#define BMP280_PRESS_XLSB_REG 0xF9 /*Pressure XLSB Register */ +#define BMP280_PRESS_LSB_REG 0xF8 /*Pressure LSB Register */ +#define BMP280_PRESS_MSB_REG 0xF7 /*Pressure MSB Register */ + +/*calibration parameters */ +#define BMP280_DIG_T1_LSB_REG 0x88 +#define BMP280_DIG_T1_MSB_REG 0x89 +#define BMP280_DIG_T2_LSB_REG 0x8A +#define BMP280_DIG_T2_MSB_REG 0x8B +#define BMP280_DIG_T3_LSB_REG 0x8C +#define BMP280_DIG_T3_MSB_REG 0x8D +#define BMP280_DIG_P1_LSB_REG 0x8E +#define BMP280_DIG_P1_MSB_REG 0x8F +#define BMP280_DIG_P2_LSB_REG 0x90 +#define BMP280_DIG_P2_MSB_REG 0x91 +#define BMP280_DIG_P3_LSB_REG 0x92 +#define BMP280_DIG_P3_MSB_REG 0x93 +#define BMP280_DIG_P4_LSB_REG 0x94 +#define BMP280_DIG_P4_MSB_REG 0x95 +#define BMP280_DIG_P5_LSB_REG 0x96 +#define BMP280_DIG_P5_MSB_REG 0x97 +#define BMP280_DIG_P6_LSB_REG 0x98 +#define BMP280_DIG_P6_MSB_REG 0x99 +#define BMP280_DIG_P7_LSB_REG 0x9A +#define BMP280_DIG_P7_MSB_REG 0x9B +#define BMP280_DIG_P8_LSB_REG 0x9C +#define BMP280_DIG_P8_MSB_REG 0x9D +#define BMP280_DIG_P9_LSB_REG 0x9E +#define BMP280_DIG_P9_MSB_REG 0x9F + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum +{ + IMU_EN_SENSOR_TYPE_NULL = 0, + IMU_EN_SENSOR_TYPE_ICM20948, + IMU_EN_SENSOR_TYPE_BMP280, + IMU_EN_SENSOR_TYPE_MAX +}IMU_EN_SENSOR_TYPE; + +typedef struct imu_st_angles_data_tag +{ + float fYaw; + float fPitch; + float fRoll; +}IMU_ST_ANGLES_DATA; + +typedef struct imu_st_sensor_data_tag +{ + int16_t s16X; + int16_t s16Y; + int16_t s16Z; +}IMU_ST_SENSOR_DATA; + +typedef struct icm20948_st_avg_data_tag +{ + uint8_t u8Index; + int16_t s16AvgBuffer[8]; +}ICM20948_ST_AVG_DATA; + +void imuInit(IMU_EN_SENSOR_TYPE *penMotionSensorType, IMU_EN_SENSOR_TYPE *penPressureType); +void imuDataGet(IMU_ST_ANGLES_DATA *pstAngles, + IMU_ST_SENSOR_DATA *pstGyroRawData, + IMU_ST_SENSOR_DATA *pstAccelRawData, + IMU_ST_SENSOR_DATA *pstMagnRawData); +void pressSensorDataGet(int32_t *ps32Temperature, int32_t *ps32Pressure, int32_t *ps32Altitude); + +uint8_t I2C_ReadOneByte(uint8_t DevAddr, uint8_t RegAddr); +void I2C_WriteOneByte(uint8_t DevAddr, uint8_t RegAddr, uint8_t value); + +#ifdef __cplusplus +} +#endif + +#endif //__Waveshare_10DOF_D_H__ diff --git a/sender_module/sender_module.ino b/sender_module/sender_module.ino new file mode 100644 index 0000000..ceaaba4 --- /dev/null +++ b/sender_module/sender_module.ino @@ -0,0 +1,59 @@ +#include +#include +#include +#include "Waveshare_10Dof-D.h" +#include "string.h" + + +bool gbSenserConnectState = false; +//create an RF24 object +RF24 radio(9, 8); // CE, CSN +const byte address[6] = "00001"; //address through which two modules communicate + +void setup() { + // init radio + radio.begin(); + radio.openWritingPipe(address); + radio.stopListening(); //Set module as transmitter + + // init motion sensor + bool bRet; + IMU_EN_SENSOR_TYPE enMotionSensorType, enPressureType; + Serial.begin(115200); + + imuInit(&enMotionSensorType, &enPressureType); + if(IMU_EN_SENSOR_TYPE_ICM20948 == enMotionSensorType) + { + Serial.println("Motion sersor is ICM-20948"); + } + else + { + Serial.println("Motion sersor NULL"); + } + if(IMU_EN_SENSOR_TYPE_BMP280 == enPressureType) + { + Serial.println("Pressure sersor is BMP280"); + } + else + { + Serial.println("Pressure sersor NULL"); + } + delay(1000); +} + +void loop() { + IMU_ST_ANGLES_DATA stAngles; + IMU_ST_SENSOR_DATA stGyroRawData; + IMU_ST_SENSOR_DATA stAccelRawData; + IMU_ST_SENSOR_DATA stMagnRawData; + int32_t s32PressureVal = 0, s32TemperatureVal = 0, s32AltitudeVal = 0; + + imuDataGet( &stAngles, &stGyroRawData, &stAccelRawData, &stMagnRawData); + pressSensorDataGet(&s32TemperatureVal, &s32PressureVal, &s32AltitudeVal); + char result[8]; + float temperature = (s32TemperatureVal / 100); + dtostrf(temperature, 6, 2, result); + //Send message to receiver + radio.write(&result, sizeof(result)); + //delay(1000); +} \ No newline at end of file diff --git a/serial_read/go.mod b/serial_read/go.mod new file mode 100644 index 0000000..ac0afd1 --- /dev/null +++ b/serial_read/go.mod @@ -0,0 +1,7 @@ +module foglar/serial_read + +go 1.21.6 + +require github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07 + +require golang.org/x/sys v0.16.0 // indirect diff --git a/serial_read/go.sum b/serial_read/go.sum new file mode 100644 index 0000000..bf059e4 --- /dev/null +++ b/serial_read/go.sum @@ -0,0 +1,4 @@ +github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07 h1:UyzmZLoiDWMRywV4DUYb9Fbt8uiOSooupjTq10vpvnU= +github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= diff --git a/serial_read/main.go b/serial_read/main.go new file mode 100644 index 0000000..c1c42da --- /dev/null +++ b/serial_read/main.go @@ -0,0 +1,101 @@ +package main + +import ( + "fmt" + "github.com/tarm/serial" + "log" + "os" + "time" +) + +func portInput() string { + var port string + for true { + port = "" + fmt.Print("Enter port to listen on (for example - '/dev/ttyACM0'): ") + fmt.Scanln(&port) + + if port == "" { + port = "/dev/ttyACM0" + } + + _, err := os.Stat(port) + if !os.IsNotExist(err) { + break + } else { + fmt.Println("Invalid port") + } + } + + return port +} + +func baudrateInput() int { + var baudrate int + var s_baudrate string + + fmt.Print("Enter baudrate (for example - '9600'): ") + fmt.Scanln(&s_baudrate) + + switch s_baudrate { + case "4800": + baudrate = 4800 + case "9600": + baudrate = 9600 + case "115200": + baudrate = 115200 + default: + baudrate = 9600 + } + return baudrate +} + +func UserInput() (string, int) { + port := portInput() + baudrate := baudrateInput() + + return port, baudrate +} + +func getTime() string { + return time.Now().Format("2006-1-2_15:4:5") +} + +func main() { + // User input + port, baudrate := UserInput() + + // Listen on port + fmt.Printf("Listening on port %s with baudrate %d:\n", port, baudrate) + c := &serial.Config{Name: port, Baud: baudrate} + + // Create file + filename := getTime() + ".txt" + f, err := os.Create(filename) + if err != nil { + log.Fatal(err) + } + defer f.Close() + + // Open port + s, err := serial.OpenPort(c) + if err != nil { + log.Fatal(err) + } + + var n int + for { + // create a buffer + buf := make([]byte, 254) + + // Read length of serial input + n, err = s.Read(buf) + if err != nil { + log.Fatal(err) + } + + // Print as a string + fmt.Print(string(buf[:n])) + f.WriteString(string(buf[:n])) + } +}