Hi
I am trying to setup my raspberry pi to receive message from Arduino using C++ code. I am getting a below error message.
pi@raspberrypi:~ $ sudo g++ -Wall -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -L../librf24/ -lrf24 *.cpp -o receive
Receive.cpp:8:39: error: invalid conversion from ‘const char*’ to ‘uint16_t {aka short unsigned int}’ [-fpermissive]
RF24 radio("/dev/spidev0.0",8000000,25);
^
************Receive.cpp code ************
#include <cstdlib>
#include <iostream>
#include "RF24/RF24.h"
#include "payload.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string>
#include <ctime>
using namespace std;
//
// Hardware configuration
// Command Line: g++ -Wall -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm117$
//
RF24 radio ("/dev/spidev0.0", 8000000 , 25);
//spi device, speed and CSN,only CSN is NEEDED in RPI
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };
Payload payload = Payload();
/
// Setup
//
void setup(void) {
radio.begin();
radio.setRetries(15, 15);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_MAX);
radio.setPayloadSize(sizeof(payload));
radio.openWritingPipe(pipes[1]);
radio.openReadingPipe(1, pipes[0]);
radio.startListening();
radio.printDetails();
}
void loop(void) {
if (radio.available()) {
radio.read(&payload, sizeof(payload));
printf("packet %d %d %d %d %d \n", payload.data.meteo.temperature, payload.data.meteo$
}
}
int main( int argc , char ** , argv){
setup();
while(1)
loop();
return 0;
}
******payload.h***
#ifndef __VIRIDI_NEXU_PAYLOAD__
#define __VIRIDI_NEXU_PAYLOAD__
enum PayloadType {
HERBA, METEO
};
typedef uint8_t vn_payload_type;
typedef uint8_t vn_payload_version;
typedef struct {
int16_t humidity;
int16_t temperature;
int16_t pressure;
int16_t altitude;
int16_t luminosity;
} vn_meteo_t;
typedef struct {
int16_t moisture;
int16_t temperature;
} vn_plant_t;
struct Payload {
vn_payload_type type;