123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #include "music.h"
- #include "guide.h"
- #include "screen.h"
- #define DBG_TAG "music"
- #define DBG_LVL DBG_LOG
- #include <rtdbg.h>
- #define SPK_PIN GET_PIN(A, 15)
- #define SPK2_PIN GET_PIN(D, 0)
- void music_play(uint8_t music)
- {
- if(music == MUSIC_OFF)
- {
- rt_pin_write(SPK_PIN, PIN_HIGH);
- rt_pin_write(SPK2_PIN, PIN_HIGH);
- }
- else
- {
- if(rt_pin_read(SPK_PIN))
- {
- rt_pin_write(SPK_PIN, PIN_LOW);
- rt_pin_write(SPK2_PIN, PIN_LOW);
- }
- else
- {
- rt_pin_write(SPK_PIN, PIN_HIGH);
- rt_pin_write(SPK2_PIN, PIN_HIGH);
- }
- }
- }
- void music_thread(void *param)
- {
- while(1)
- {
- switch(S.Status)
- {
- case STATUS_INIT:
- case STATUS_READY:
- case STATUS_RUN:
- case STATUS_REMOTE_MANUAL:
- case STATUS_RUN_LOW_POWER:
- case STATUS_STOP_LOW_POWER:
- case STATUS_RUN_OBS_LOW_SPEED: //BUG3
- music_play(MUSIC_OFF);
- break;
- default:
- music_play(MUSIC_SCRAM);
- break;
- }
- rt_thread_mdelay(1000);
- }
- }
- static int music_init(void)
- {
- static rt_thread_t tid;
- rt_pin_mode(SPK_PIN, PIN_MODE_OUTPUT);
- rt_pin_mode(SPK2_PIN, PIN_MODE_OUTPUT);
-
- rt_pin_write(SPK_PIN, PIN_HIGH);
- rt_pin_write(SPK2_PIN, PIN_HIGH);
- tid = rt_thread_create("spk", music_thread, NULL, 1024, RT_THREAD_PRIORITY_MAX - 7, 10);
- if(tid)
- {
- rt_thread_startup(tid);
- }
- return RT_EOK;
- }
- INIT_APP_EXPORT(music_init);
|