fix for sim and pinMode
This commit is contained in:
parent
cddd33b8c9
commit
2b27635f73
|
@ -535,7 +535,7 @@ void RFControl::sendByCompressedTimings(int transmitterPin,unsigned long* bucket
|
||||||
void RFControl::sendByTimings(int transmitterPin, unsigned int *timings, unsigned int timings_size, unsigned int repeats) {
|
void RFControl::sendByTimings(int transmitterPin, unsigned int *timings, unsigned int timings_size, unsigned int repeats) {
|
||||||
listenBeforeTalk();
|
listenBeforeTalk();
|
||||||
|
|
||||||
pinMode(transmitterPin, OUTPUT);
|
hw_pinMode(transmitterPin, OUTPUT);
|
||||||
for(unsigned int i = 0; i < repeats; i++) {
|
for(unsigned int i = 0; i < repeats; i++) {
|
||||||
hw_digitalWrite(transmitterPin, LOW);
|
hw_digitalWrite(transmitterPin, LOW);
|
||||||
int state = LOW;
|
int state = LOW;
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
g++ -DRF_CONTROL_SIMULATE_ARDUINO=1 -Wall simulate.cpp -o simulate
|
||||||
g++ -DRF_CONTROL_SIMULATE_ARDUINO=1 -Wall simulate.cpp ../RFControl.cpp -o simulate
|
|
||||||
|
|
Binary file not shown.
|
@ -1,8 +1,24 @@
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include "../RFControl.h"
|
#include <sys/stat.h>
|
||||||
#include "../RFControl.cpp"
|
#include <sys/time.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
void (*interruptCallback)(void);
|
#define RF_CONTROL_VARDUINO
|
||||||
|
#define MAX_RECORDINGS 255
|
||||||
|
#include "../RFControl.h"
|
||||||
|
|
||||||
|
static char sate2string[6][255] = {
|
||||||
|
"STATUS_WAITING",
|
||||||
|
"STATUS_RECORDING_0",
|
||||||
|
"STATUS_RECORDING_1",
|
||||||
|
"STATUS_RECORDING_2",
|
||||||
|
"STATUS_RECORDING_3",
|
||||||
|
"STATUS_RECORDING_END"
|
||||||
|
};
|
||||||
|
|
||||||
|
void (*sim_interruptCallback)(void);
|
||||||
|
|
||||||
unsigned int sim_timings[] = {
|
unsigned int sim_timings[] = {
|
||||||
|
|
||||||
|
@ -205,12 +221,12 @@ int main(int argc, const char* argv[])
|
||||||
{
|
{
|
||||||
sim_timings_pos = 0;
|
sim_timings_pos = 0;
|
||||||
sim_timings_size = sizeof(sim_timings)/sizeof(unsigned int);
|
sim_timings_size = sizeof(sim_timings)/sizeof(unsigned int);
|
||||||
|
unsigned int pulse_length_divider = RFControl::getPulseLengthDivider();
|
||||||
RFControl::startReceiving(0);
|
RFControl::startReceiving(0);
|
||||||
|
|
||||||
while(sim_timings_pos < sim_timings_size) {
|
while(sim_timings_pos < sim_timings_size) {
|
||||||
|
|
||||||
interruptCallback();
|
sim_interruptCallback();
|
||||||
|
|
||||||
if(RFControl::hasData()) {
|
if(RFControl::hasData()) {
|
||||||
unsigned int *timings;
|
unsigned int *timings;
|
||||||
|
@ -218,7 +234,8 @@ int main(int argc, const char* argv[])
|
||||||
RFControl::getRaw(&timings, &timings_size);
|
RFControl::getRaw(&timings, &timings_size);
|
||||||
printf("result: \n");
|
printf("result: \n");
|
||||||
for(size_t i=0; i < timings_size; i++) {
|
for(size_t i=0; i < timings_size; i++) {
|
||||||
printf("%i ", timings[i]);
|
unsigned long timing = timings[i] * pulse_length_divider;
|
||||||
|
printf("%lu ", timing);
|
||||||
if((i+1)%16 == 0) {
|
if((i+1)%16 == 0) {
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
@ -227,11 +244,12 @@ int main(int argc, const char* argv[])
|
||||||
unsigned int buckets[8];
|
unsigned int buckets[8];
|
||||||
RFControl::compressTimings(buckets, timings, timings_size);
|
RFControl::compressTimings(buckets, timings, timings_size);
|
||||||
printf("compressed: ");
|
printf("compressed: ");
|
||||||
for(int i=0; i < 8; i++) {
|
for(size_t i=0; i < 8; i++) {
|
||||||
printf("%i ", buckets[i]);
|
unsigned long bucket = buckets[i] * pulse_length_divider;
|
||||||
|
printf("%lu ", bucket);
|
||||||
}
|
}
|
||||||
printf(" t: ");
|
printf(" t: ");
|
||||||
for(int i=0; i < timings_size; i++) {
|
for(size_t i=0; i < timings_size; i++) {
|
||||||
printf("%i", timings[i]);
|
printf("%i", timings[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
@ -244,11 +262,11 @@ int main(int argc, const char* argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void attachInterrupt(uint8_t, void (*ic)(void), int mode) {
|
void hw_attachInterrupt(uint8_t, void (*ic)(void)) {
|
||||||
interruptCallback = ic;
|
sim_interruptCallback = ic;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long micros(void) {
|
unsigned long hw_micros(void) {
|
||||||
static unsigned long duration = 0;
|
static unsigned long duration = 0;
|
||||||
if(sim_timings_pos < sim_timings_size) {
|
if(sim_timings_pos < sim_timings_size) {
|
||||||
duration += sim_timings[sim_timings_pos++];
|
duration += sim_timings[sim_timings_pos++];
|
||||||
|
@ -260,12 +278,22 @@ unsigned long micros(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void pinMode(uint8_t, uint8_t){}
|
void hw_pinMode(uint8_t, uint8_t){}
|
||||||
void digitalWrite(uint8_t, uint8_t){}
|
void hw_digitalWrite(uint8_t, uint8_t){}
|
||||||
int digitalRead(uint8_t){return 0;}
|
int hw_digitalRead(uint8_t){return 0;}
|
||||||
int analogRead(uint8_t){return 0;}
|
int hw_analogRead(uint8_t){return 0;}
|
||||||
void analogReference(uint8_t mode){}
|
void hw_analogReference(uint8_t mode){}
|
||||||
void analogWrite(uint8_t, int){}
|
void hw_analogWrite(uint8_t, int){}
|
||||||
void delay(unsigned long){}
|
void hw_delayMicroseconds(unsigned int us){}
|
||||||
void delayMicroseconds(unsigned int us){}
|
void hw_detachInterrupt(uint8_t){}
|
||||||
void detachInterrupt(uint8_t){}
|
|
||||||
|
#define HIGH 0x1
|
||||||
|
#define LOW 0x0
|
||||||
|
#define INPUT 0x0
|
||||||
|
#define OUTPUT 0x1
|
||||||
|
|
||||||
|
#define CHANGE 1
|
||||||
|
#define FALLING 2
|
||||||
|
#define RISING 3
|
||||||
|
|
||||||
|
#include "../RFControl.cpp"
|
|
@ -1,38 +0,0 @@
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <cstdio>
|
|
||||||
#define RF_CONTROL_SIMULATE_ARDUINO
|
|
||||||
|
|
||||||
#define HIGH 0x1
|
|
||||||
#define LOW 0x0
|
|
||||||
#define INPUT 0x0
|
|
||||||
#define OUTPUT 0x1
|
|
||||||
|
|
||||||
#define CHANGE 1
|
|
||||||
#define FALLING 2
|
|
||||||
#define RISING 3
|
|
||||||
|
|
||||||
|
|
||||||
void pinMode(uint8_t, uint8_t);
|
|
||||||
void digitalWrite(uint8_t, uint8_t);
|
|
||||||
int digitalRead(uint8_t);
|
|
||||||
int analogRead(uint8_t);
|
|
||||||
void analogReference(uint8_t mode);
|
|
||||||
void analogWrite(uint8_t, int);
|
|
||||||
unsigned long millis(void);
|
|
||||||
unsigned long micros(void);
|
|
||||||
void delay(unsigned long);
|
|
||||||
void delayMicroseconds(unsigned int us);
|
|
||||||
void attachInterrupt(uint8_t, void (*)(void), int mode);
|
|
||||||
void detachInterrupt(uint8_t);
|
|
||||||
|
|
||||||
static char sate2string[6][255] = {
|
|
||||||
"STATUS_WAITING",
|
|
||||||
"STATUS_RECORDING_0",
|
|
||||||
"STATUS_RECORDING_1",
|
|
||||||
"STATUS_RECORDING_2",
|
|
||||||
"STATUS_RECORDING_3",
|
|
||||||
"STATUS_RECORDING_END"
|
|
||||||
};
|
|
Loading…
Reference in New Issue