+61
-5
@@ -7,14 +7,14 @@
|
||||
|
||||
#include "APP_morsecode.h"
|
||||
|
||||
#define morse_t1 250
|
||||
#define morse_t1 200
|
||||
#define morse_t2 (morse_t1*3)
|
||||
|
||||
char push_key=0,last_key=1;
|
||||
uint32_t morse_t=0;
|
||||
uint32_t morse_time_out=0;
|
||||
uint16_t morse_temp;
|
||||
char morse_input_buff[65]={0};
|
||||
char morse_input_buff[65];
|
||||
int morse_input_flag=0;
|
||||
int morse_char_flag=0;
|
||||
int morse_x,morse_y;
|
||||
@@ -145,6 +145,8 @@ void APP_morsecode_init(window *a_window)
|
||||
{
|
||||
morse_input_buff[a]='\0';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -161,6 +163,8 @@ char getmorsecode(uint8_t len,uint8_t code)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void APP_morsecode_loop()
|
||||
{
|
||||
/*
|
||||
@@ -168,7 +172,53 @@ void APP_morsecode_loop()
|
||||
sprintf(str,"%d %d ",morse_input_flag,morse_char_flag);
|
||||
LCD_ShowString(morsecode_window->x, morsecode_window->y+100, str, 16, GREEN, RED);
|
||||
*/
|
||||
if(k3.code==1)
|
||||
{
|
||||
for(int a=0;a<64;a++)
|
||||
{
|
||||
|
||||
if(morse_input_buff[a]=='\0')
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if(morse_input_buff[a]==' ')
|
||||
{
|
||||
add_a_note(0, 50, 300);
|
||||
}else
|
||||
{
|
||||
for(int b=0;b<36;b++)
|
||||
{
|
||||
if(morsecodes[b].letter==morse_input_buff[a])
|
||||
{
|
||||
for(int c=0;c<morsecodes[b].len;c++)
|
||||
{
|
||||
if(morsecodes[b].code&(0x80>>c))
|
||||
{
|
||||
add_a_note(1000, 50, 200);
|
||||
}else
|
||||
{
|
||||
add_a_note(1000, 50, 100);
|
||||
}
|
||||
add_a_note(0, 50, 100);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
add_a_note(0, 50, 100);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if(k2.code==3)
|
||||
{
|
||||
sprintf(morse_input_buff,"EISH5 E I S H 5");
|
||||
}
|
||||
if(k2.code==2)
|
||||
{
|
||||
sprintf(morse_input_buff,"HELLO WORLD");
|
||||
}
|
||||
if(k2.code==1)
|
||||
{
|
||||
morse_x=morsecode_window->x;
|
||||
@@ -204,6 +254,7 @@ void APP_morsecode_loop()
|
||||
if(push_key==0)
|
||||
{
|
||||
morse_t=HAL_GetTick();
|
||||
play_ones(1000,50);
|
||||
}else
|
||||
{
|
||||
morse_temp=HAL_GetTick()-morse_t;
|
||||
@@ -215,14 +266,19 @@ void APP_morsecode_loop()
|
||||
//-
|
||||
morse_input_buff[morse_input_flag]='-';
|
||||
morse_letter_temp|=(0x80>>morse_letter_flag);
|
||||
morse_input_flag++;
|
||||
morse_letter_flag++;
|
||||
if(morse_input_flag>=morse_char_flag+8){morse_input_flag=morse_char_flag;morse_letter_flag=0;}
|
||||
}else
|
||||
{
|
||||
//.
|
||||
morse_input_buff[morse_input_flag]='.';
|
||||
morse_input_flag++;
|
||||
morse_letter_flag++;
|
||||
if(morse_input_flag>=morse_char_flag+8){morse_input_flag=morse_char_flag;morse_letter_flag=0;}
|
||||
}
|
||||
morse_input_flag++;
|
||||
morse_letter_flag++;
|
||||
if(morse_input_flag>=morse_char_flag+8){morse_input_flag=morse_char_flag;morse_letter_flag=0;}
|
||||
|
||||
play_ones(0,0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user