summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwuyangyong <[email protected]>2010-02-10 06:31:27 +0000
committerwuyangyong <[email protected]>2010-02-10 06:31:27 +0000
commit881d6a82d4e10b570deb9250a17834a0349d476a (patch)
tree44f38317de2c4fdfd40b63de7cdb8d10ba81910c
parente29be4a90bd05e250362b81ea2695d29043e65e0 (diff)
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@399 bbd45198-f89e-11dd-88c7-29a3b14d5316
-rw-r--r--bsp/stm32_radio/remote.c148
1 files changed, 80 insertions, 68 deletions
diff --git a/bsp/stm32_radio/remote.c b/bsp/stm32_radio/remote.c
index a08c007cd3..fae3062ab7 100644
--- a/bsp/stm32_radio/remote.c
+++ b/bsp/stm32_radio/remote.c
@@ -6,6 +6,7 @@
| Chang Logs:
| Date Author Notes
| 2010-01-02 aozima The bate version.
+| 2010-02-10 aozima change printf string ���� to english.
+----------------------------------------------------
*/
@@ -13,6 +14,8 @@
#include <dfs_posix.h>
#include <stm32f10x.h>
+/* �ض���printf */
+#define printf rt_kprintf
/* ��������ƫ��,��λ0.01ms */
#define remote_deviation 15
#define remote_code_len_max 100
@@ -138,82 +141,91 @@ void rem_start(void)
TIM5_Configuration();
p_rem_code_src = rt_malloc( sizeof(struct rem_codes_typedef)*6 );
- rt_memset(p_rem_code_src,0, sizeof(struct rem_codes_typedef)*6 );
-
- /* ���������Ϣ */
+ if( p_rem_code_src != RT_NULL)
{
- int fd,size;
- char buf[7];/* �ļ���ȡ��ʱ���� #####\r\n */
- unsigned int i;
- unsigned short tmp;
- unsigned int read_index = 0;
- unsigned int EOF_flag = 1;
+ rt_memset(p_rem_code_src,0, sizeof(struct rem_codes_typedef)*6 );
- rt_kprintf("\r\n���������Ϣ");
- fd = open("/resource/remote.txt",O_RDONLY,0);
- if( fd>0 )
+ /* ���������Ϣ */
{
- rt_kprintf("\r/resource/remote.txt�򿪳ɹ�");
- while( EOF_flag )
+ int fd,size;
+ char buf[7];/* �ļ���ȡ��ʱ���� #####\r\n */
+ unsigned int i;
+ unsigned short tmp;
+ unsigned int read_index = 0;
+ unsigned int EOF_flag = 1;
+
+ printf("\r\ndecode remote codes");
+ fd = open("/resource/remote.txt",O_RDONLY,0);
+ if( fd>0 )
{
- /* ��ȡ���� */
- size = read(fd,buf,7);
- if( (size == 7) && (buf[5]=='\r') && buf[6]=='\n' )
+ printf("\r/resource/remote.txt open succeed");
+ while( EOF_flag )
{
- /* ת���õ��������ݳ��� */
- tmp = (buf[0]-'0')*10000
- + (buf[1]-'0')*1000
- + (buf[2]-'0')*100
- + (buf[3]-'0')*10
- + (buf[4]-'0');
- if( tmp<100 )
+ /* ��ȡ���� */
+ size = read(fd,buf,7);
+ if( (size == 7) && (buf[5]=='\r') && buf[6]=='\n' )
{
- unsigned int code_len = tmp;
- p_rem_code_src[read_index].len = code_len;
- /* ����������ȷ��� �Ϳ�ʼ���ļ���ȡ�������� */
- for(i=0; i<code_len; i++)
+ /* ת���õ��������ݳ��� */
+ tmp = (buf[0]-'0')*10000
+ + (buf[1]-'0')*1000
+ + (buf[2]-'0')*100
+ + (buf[3]-'0')*10
+ + (buf[4]-'0');
+ if( tmp<100 )
{
- size = read(fd,buf,7);
- if( (size == 7) && (buf[5]=='\r') && buf[6]=='\n' )
+ unsigned int code_len = tmp;
+ p_rem_code_src[read_index].len = code_len;
+ /* ����������ȷ��� �Ϳ�ʼ���ļ���ȡ�������� */
+ for(i=0; i<code_len; i++)
{
- /* ת���õ��������� */
- tmp = (buf[0]-'0')*10000
- + (buf[1]-'0')*1000
- + (buf[2]-'0')*100
- + (buf[3]-'0')*10
- + (buf[4]-'0');
- p_rem_code_src[read_index].rem_code[i] = tmp;
+ size = read(fd,buf,7);
+ if( (size == 7) && (buf[5]=='\r') && buf[6]=='\n' )
+ {
+ /* ת���õ��������� */
+ tmp = (buf[0]-'0')*10000
+ + (buf[1]-'0')*1000
+ + (buf[2]-'0')*100
+ + (buf[3]-'0')*10
+ + (buf[4]-'0');
+ p_rem_code_src[read_index].rem_code[i] = tmp;
+ }
}
+ read_index++;
}
- read_index++;
}
+ else
+ {
+ EOF_flag = 0;
+ }
+ }//while( EOF_flag )
+
+ /* �ж��Ƿ���ȷ������������ļ� */
+ if ( p_rem_code_src[0].len > 0 && p_rem_code_src[0].len < remote_code_len_max )
+ {
+ /* ���ù���ģʽΪ����ʶ��ģʽ */
+ rem_mode = 2;
+ printf("\r\ndecode succeed,The remote enable\r\n");
}
else
{
- EOF_flag = 0;
+ /* ���ù���ģʽΪ����ʶ��ģʽ */
+ rem_mode = 0;
+ printf("\r\nrem_codes decode fail,The remote disable\r\n");
}
- }//while( EOF_flag )
-
- /* �ж��Ƿ���ȷ������������ļ� */
- if ( p_rem_code_src[0].len > 0 && p_rem_code_src[0].len < remote_code_len_max )
- {
- /* ���ù���ģʽΪ����ʶ��ģʽ */
- rem_mode = 2;
- rt_kprintf("\r����ң�ر����ļ�������,�Ѵ򿪺���ң�ع���\r\n");
}
else
{
- /* ���ù���ģʽΪ����ʶ��ģʽ */
- rem_mode = 0;
- rt_kprintf("\r\n����ң�ر����ļ����ʧ��,�ѹرպ���ң�ع���\r\n");
+ printf("\rrem_codes /resource/remote.txt open fail! fd:%d\r\nThe remote disbale.\r\nplease run rem_study()\r\n",fd);
}
- }
- else
- {
- rt_kprintf("\r����ң�ر����ļ� /resource/remote.txt ��ʧ��! fd:%d\r\n�޷���������ң�ع���.\r\n��ִ��rem_study()�����Զ�ѧϰ\r\n",fd);
- }
- close(fd);
- }/* ���������Ϣ */
+ close(fd);
+ }/* ���������Ϣ */
+
+ }
+ else
+ {
+ rem_mode = 0;
+ printf("\r\nmalloc rem_codes[] fail!!!\r\nThe remote disable!");
+ }
}
#include <rtgui/event.h>
@@ -238,7 +250,7 @@ void rem_encoder(struct rtgui_event_kbd * p)
while( rem_cmp_n )
{
unsigned int tmp2 = p_rem_code_src[ 6-rem_cmp_n ].len;
- //rt_kprintf("\r\nrem_cmp_n:%d tmp2:%d",rem_cmp_n,tmp2);
+ //printf("\r\nrem_cmp_n:%d tmp2:%d",rem_cmp_n,tmp2);
if( tmp2 )
{
@@ -255,13 +267,13 @@ void rem_encoder(struct rtgui_event_kbd * p)
else
{
err_flag = 1;
- rt_kprintf("\r\n����ʧ��");
+ printf("\r\nThe rem codes len is 0.");
}
if( err_flag==0 )
{
/* �Ա�ȫ�����ݷ��� */
- rt_kprintf("\r\nʶ��ң�ذ��� %s",desc_key[6-rem_cmp_n]);
+ printf("\r\nmatch key: %s",desc_key[6-rem_cmp_n]);
switch( rem_cmp_n )
{
case 6:
@@ -390,15 +402,15 @@ int rem_study(void)
rem_mode = 1;
rx_count = 0;
- rt_kprintf("\r\n����ң����ѧϰ��������");
+ printf("\r\nremote studing.....");
fd = open("/resource/remote.txt",O_WRONLY | O_TRUNC,0);
if( !(fd<0) )
{
- rt_kprintf("\r\n����ң�ر����ļ� /resource/remote.txt �����ɹ�");
+ printf("\r\n/resource/remote.txt create succeed.");
}
else
{
- rt_kprintf("\r����ң�ر����ļ� /resource/remote.txt ����ʧ��.\r\nѧϰ������ֹ.");
+ printf("\r/resource/remote.txt create fail.\r\nabort.");
return -1;
}
@@ -406,7 +418,7 @@ int rem_study(void)
for( i=0; i<6; i++)
{
unsigned int is_ok = 1;
- rt_kprintf("\r\npress key %s",desc_key[i]);
+ printf("\r\npress key %s",desc_key[i]);
while( is_ok==1 )
{
if( (rem_mode==1) && (rt_tick_get()>first_tick+10) && (rx_count > 0) )
@@ -414,7 +426,7 @@ int rem_study(void)
unsigned int a,b;
unsigned char * p = tmp_buf;
- rt_kprintf("\r\n%s",desc_key[i]);
+ printf("\r\n%s",desc_key[i]);
b = rx_count;
p_rem_code_src[i].len = rx_count;
@@ -463,7 +475,7 @@ int rem_study(void)
size = write(fd,(char*)tmp_buf,(b+1)*7 );
if( size==((b+1)*7) )
{
- rt_kprintf("�ļ�д��ɹ�");
+ printf(" file write succeed!");
is_ok++;
rt_thread_delay( 2 );
@@ -478,7 +490,7 @@ int rem_study(void)
}
else
{
- rt_kprintf("�ļ�д��ʧ��\r\n����ѧϰ�����˳�");
+ printf(" file write fail.\r\nabort.");
return -1;
}
}
@@ -486,7 +498,7 @@ int rem_study(void)
}//while( is_ok==1 )
}//for( i=0; i<6; i++)
close(fd);
- rt_kprintf("\r\nѧϰ���,���ڽ�������ʶ��ģʽ\r\n");
+ printf("\r\nremote study complete.The remote enable.\r\n");
rem_mode = 2;
return 0;
}