Skip to content

Instantly share code, notes, and snippets.

@mroger
mroger / set_search_up_down.cpp
Created August 23, 2014 13:39
Methods that set up and down search direction
void TEA5767N::setSearchUp() {
transmission_data[THIRD_DATA] |= 0b10000000;
}
void TEA5767N::setSearchDown() {
transmission_data[THIRD_DATA] &= 0b01111111;
}
@mroger
mroger / search_stop_levels.cpp
Created August 23, 2014 13:45
Setting search stop levels.
void TEA5767N::setSearchLowStopLevel() {
transmission_data[THIRD_DATA] &= 0b10011111;
transmission_data[THIRD_DATA] |= (LOW_STOP_LEVEL << 5);
}
void TEA5767N::setSearchMidStopLevel() {
transmission_data[THIRD_DATA] &= 0b10011111;
transmission_data[THIRD_DATA] |= (MID_STOP_LEVEL << 5);
}
@mroger
mroger / search_next.cpp
Created August 23, 2014 13:55
Search next method
byte TEA5767N::searchNext() {
byte bandLimitReached;
if (isSearchUp()) {
selectFrequency(readFrequencyInMHz() + 0.1);
} else {
selectFrequency(readFrequencyInMHz() - 0.1);
}
//Turns the search on
@mroger
mroger / search_next_muting.cpp
Created August 23, 2014 14:13
Search next with mute
byte TEA5767N::searchNextMuting() {
byte bandLimitReached;
mute();
bandLimitReached = searchNext();
turnTheSoundBackOn();
return bandLimitReached;
}
@mroger
mroger / search_from_beginning_end.cpp
Last active August 29, 2015 14:05
Starts search from beginning or from end.
byte TEA5767N::startsSearchFromBeginning() {
setSearchUp();
return startsSearchFrom(87.0);
}
byte TEA5767N::startsSearchFromEnd() {
setSearchDown();
return startsSearchFrom(108.0);
}
@mroger
mroger / search_muting_beginning_end.cpp
Last active August 29, 2015 14:05
Starts search muting from beginning or end.
byte TEA5767N::startsSearchMutingFromBeginning() {
byte bandLimitReached;
mute();
bandLimitReached = startsSearchFromBeginning();
turnTheSoundBackOn();
return bandLimitReached;
}
@mroger
mroger / init_radio.cpp
Last active August 29, 2015 14:12
Init radio object
#include <TEA5767N.h>
// ...
// Init radio object
TEA5767N radio = TEA5767N();
@mroger
mroger / init_lcd.cpp
Last active August 29, 2015 14:12
Init LCD
// Init LCD display object
// LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
@mroger
mroger / data_structure_constants.cpp
Last active August 29, 2015 14:12
Application data structure
// Buttons codes
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5
// Delay between clock transitions
#define DELAY_VOLUME_TRANSITION 50
@mroger
mroger / function_read_LCD_buttons.cpp
Last active August 29, 2015 14:12
Function read LCD buttons
int read_LCD_buttons() {
int adc_key_in = analogRead(0);
if (adc_key_in > 1000) return btnNONE;
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 195) return btnUP;
if (adc_key_in < 380) return btnDOWN;
if (adc_key_in < 555) return btnLEFT;
if (adc_key_in < 790) return btnSELECT;
return btnNONE;
}