You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
1.4 KiB

#include <util/delay.h>
#include <avr/io.h>
#include <stdio.h>
#include <stdarg.h>
#include <util/setbaud.h>
#include <Arduino.h>
#include <lib.h>
#include "SoftPWM.h"
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 3
#define CS_PIN 2
#define RED 4
#define GREEN 5
class Radio {
public:
RF24 instance;
};
class Motor {
public:
int power;
};
const uint64_t dozer_pipe = 0xF0F0F0F0D2LL;
const uint64_t remote_pipe = 0xF0F0F0F0E1LL;
struct StickValues {
uint32_t stick_1_a;
uint32_t stick_1_b;
uint32_t stick_2_a;
uint32_t stick_2_b;
};
int main() {
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
uart_init();
RF24 radio(CE_PIN, CS_PIN);
radio.begin();
radio.openWritingPipe(remote_pipe);
radio.openReadingPipe(1, dozer_pipe);
radio.startListening();
bool breaking = false;
while (!breaking) {
_delay_ms(100);
// Get input
// Parse into a struct
StickValues stick_values;
stick_values.stick_1_a = 100;
stick_values.stick_1_b = 50;
stick_values.stick_2_a = 0;
stick_values.stick_2_b = 0;
// Send to dozer
radio.stopListening();
radio.write(&stick_values, sizeof(uint32_t)*4);
radio.startListening();
}
}
// Dot really ever have to read
//if (radio.available()) {
// while (radio.available()) {
// radio.read(&got_time, sizeof(unsigned long));
// }
//}