From a54368e354d08c03a44a2cfdec5b00a46ea06541 Mon Sep 17 00:00:00 2001 From: Adam Loboda <43117081+mcore1976@users.noreply.github.com> Date: Sun, 17 May 2020 09:32:44 +0200 Subject: [PATCH] Add files via upload --- main.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 main.c diff --git a/main.c b/main.c new file mode 100644 index 0000000..9a0d674 --- /dev/null +++ b/main.c @@ -0,0 +1,94 @@ +/* + * 433 MHz key fob jammer based on ATTINY13A and FS1000A RF transmitting module + * PIN B2 of ATTINY13A is connected to DATA IN of FS1000A transmitter board + * both ATTINY13 and FS1000A are connected to 5V power supply + * internal clock 9.6MHz with division by 8 = 1.2MHz effective clock + * + */ + +#include +#include +#include + +#define FS1000A_DATA_HIGH() (PORTB |= _BV(FS1000A_DATA_PIN)) +#define FS1000A_DATA_LOW() (PORTB &= ~_BV(FS1000A_DATA_PIN)) +#define FS1000A_DATA_OUTPUT() (DDRB |= _BV(FS1000A_DATA_PIN)) + +// Main Settings +#define FS1000A_DATA_PIN PB2 + +int main(void) +{ + uint8_t widthsize; + uint8_t sequence; + uint8_t duration; + + // SET OUTPUT PIN TO STEER FS1000A DATA IN + FS1000A_DATA_OUTPUT(); + FS1000A_DATA_LOW(); + + /* neverending loop */ + while (1) { + + widthsize = 0; + sequence = 0; + duration = 0; + + // generating SQUARE WAVE for FS1000A DATA INPUT + // we send 20 sequences of 50 pulses different width ( from 50us to 1 ms ) + // to generate enough distortion on 433 MHz frequency + + for(sequence=1; sequence<24; sequence++) + { + + // only 10 pulses for each width + for(duration=1; duration<=10; duration++) + { + + FS1000A_DATA_HIGH(); // bring DATA PIN up + + // starting from 300usec Pulses + for(widthsize=6; widthsize<=(6+sequence); widthsize++) + { + // Generated by delay loop calculator + // at http://www.bretmulvey.com/avrdelay.html + // + // Delay 60 cycles + // 50us at 1.2 MHz + asm volatile ( + " ldi r18, 20" "\n" + "1: dec r18" "\n" + " brne 1b" "\n" + ); + + }; // end of widthsize for loop + + FS1000A_DATA_LOW(); // drag DATA PIN down + + // starting from 300usec Pulses + for(widthsize=6; widthsize<=(6+sequence); widthsize++) + { + // Generated by delay loop calculator + // at http://www.bretmulvey.com/avrdelay.html + // + // Delay 60 cycles + // 50us at 1.2 MHz + asm volatile ( + " ldi r18, 20" "\n" + "1: dec r18" "\n" + " brne 1b" "\n" + ); + + + }; // end of WIDTHSIZE variable for loop + + }; // end of DURATION loop + + }; // end of SEQUENCE variable loop + + }; // neverending loop + +}; // end of MAIN + + +