kopia lustrzana https://github.com/fsphil/hadie
Move things about a bit
rodzic
952b9c9ac8
commit
a0398932be
66
rtty.c
66
rtty.c
|
@ -51,38 +51,6 @@ ISR(TIMER0_COMPA_vect)
|
|||
}
|
||||
}
|
||||
|
||||
void rtx_string(char *s)
|
||||
{
|
||||
uint16_t length = strlen(s);
|
||||
rtx_wait();
|
||||
txpgm = 0;
|
||||
txbuf = (uint8_t *) s;
|
||||
txlen = length;
|
||||
}
|
||||
|
||||
void rtx_string_P(PGM_P s)
|
||||
{
|
||||
uint16_t length = strlen_P(s);
|
||||
rtx_wait();
|
||||
txpgm = 1;
|
||||
txbuf = (uint8_t *) s;
|
||||
txlen = length;
|
||||
}
|
||||
|
||||
void rtx_data(uint8_t *data, size_t length)
|
||||
{
|
||||
rtx_wait();
|
||||
txpgm = 0;
|
||||
txbuf = data;
|
||||
txlen = length;
|
||||
}
|
||||
|
||||
void rtx_wait()
|
||||
{
|
||||
/* Wait for interrupt driven TX to finish */
|
||||
while(txlen > 0);
|
||||
}
|
||||
|
||||
void rtx_init()
|
||||
{
|
||||
/* RTTY is driven by TIMER0 in CTC mode */
|
||||
|
@ -97,3 +65,37 @@ void rtx_init()
|
|||
DDRB |= MARK | SPACE | TXENABLE;
|
||||
}
|
||||
|
||||
void inline rtx_wait()
|
||||
{
|
||||
/* Wait for interrupt driven TX to finish */
|
||||
while(txlen > 0);
|
||||
}
|
||||
|
||||
void rtx_data(uint8_t *data, size_t length)
|
||||
{
|
||||
rtx_wait();
|
||||
txpgm = 0;
|
||||
txbuf = data;
|
||||
txlen = length;
|
||||
}
|
||||
|
||||
void rtx_data_P(PGM_P data, size_t length)
|
||||
{
|
||||
rtx_wait();
|
||||
txpgm = 1;
|
||||
txbuf = (uint8_t *) data;
|
||||
txlen = length;
|
||||
}
|
||||
|
||||
void rtx_string(char *s)
|
||||
{
|
||||
uint16_t length = strlen(s);
|
||||
rtx_data((uint8_t *) s, length);
|
||||
}
|
||||
|
||||
void rtx_string_P(PGM_P s)
|
||||
{
|
||||
uint16_t length = strlen_P(s);
|
||||
rtx_data_P(s, length);
|
||||
}
|
||||
|
||||
|
|
6
rtty.h
6
rtty.h
|
@ -13,10 +13,10 @@
|
|||
#include <stdint.h>
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
extern void rtx_init();
|
||||
extern void inline rtx_wait();
|
||||
extern void rtx_data(uint8_t *data, size_t length);
|
||||
extern void rtx_string(char *s);
|
||||
extern void rtx_string_P(PGM_P s);
|
||||
extern void rtx_data(uint8_t *data, size_t length);
|
||||
extern void rtx_wait();
|
||||
extern void rtx_init();
|
||||
|
||||
#endif
|
||||
|
|
Ładowanie…
Reference in New Issue