Skip to content

Instantly share code, notes, and snippets.

@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;
}
@mroger
mroger / multi_menu_array.cpp
Last active August 29, 2015 14:12
Multidimensional menu array
char menu[MENU_DEPTH][MENU_LINES][MENU_TEXT] = {
{{" Mute"}, {" Search"}, {" Fine search"}, {" Register statn"}, {" Configuration"}, {" Stand by"}, {" Load deflt stn"}, {" Exit"}},
{{" Search level"}, {" Backlit inten."}, {" Exit"}},
{{" Low"}, {" Medium"}, {" High"}, {"Exit"}}
};
@mroger
mroger / tea5767_setup.cpp
Last active August 29, 2015 14:12
tea5767_setup
void setup(){
pinMode(BACKLIGHT_PIN, OUTPUT);
pinMode(UPDOWN_PIN, OUTPUT);
pinMode(INC_PIN, OUTPUT);
digitalWrite(UPDOWN_PIN, HIGH);
digitalWrite(INC_PIN, HIGH);
analogWrite(BACKLIGHT_PIN, 255);
lcd.begin(16, 2);