添加A5133驱动支持 559/1 559/head 560/target/1
authorSnickerSun <snickersun@163.com>
Sat, 20 Jul 2024 02:32:20 +0000 (10:32 +0800)
committerSnickerSun <snickersun@163.com>
Sat, 20 Jul 2024 02:32:20 +0000 (10:32 +0800)
35 files changed:
autobuild.sh
code/sdk/application/brandy/brandy_standard/thread_pri_init.c
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativeui/producttest/include/testA5133.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/producttest/include/testPresenter.h
code/sdk/application/wearable/fd230app/nativeui/producttest/include/testView.h
code/sdk/application/wearable/fd230app/nativeui/producttest/src/testA5133.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/producttest/src/testPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/producttest/src/testView.cpp
code/sdk/application/wearable/service/msg_center/brandy-native-js-lt22/libmsg_center.a [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/config.py
code/sdk/drivers/boards/brandy_evb/board_config/board_evb.h
code/sdk/drivers/peripheral/CMakeLists.txt
code/sdk/drivers/peripheral/a5133/A5133Config.h [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/A5133GlobalVar.h [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/A5133Main.c [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/A5133Uti.c [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/A5133Uti.h [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/A5133define.h [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/A5133main.h [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/A5133reg.h [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/CMakeLists.txt [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/service/CMakeLists.txt [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/service/a5133_service.cpp [new file with mode: 0644]
code/sdk/drivers/peripheral/a5133/service/a5133_service.h [new file with mode: 0644]
code/sdk/drivers/peripheral/utils/custom_utils_at_cmd.c
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-lt22/libgfx_rm.a [new file with mode: 0644]
code/sdk/middleware/services/gui/hal/display/brandy-native-js-lt22/libdisplay_gfx.a [new file with mode: 0644]
code/sdk/middleware/services/gui/uikit/brandy-native-js-lt22/libuikit_ext.a [new file with mode: 0644]
code/sdk/middleware/utils/fs/vfs/brandy-native-js-lt22/libx_vfs_private.a [new file with mode: 0644]
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-lt22/libfs_yaffs2.a [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-lt22/libams.a [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-lt22/libace.a [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-lt22/libbms.a [new file with mode: 0644]
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-lt22/libjerryscript.a [new file with mode: 0644]

index ae26144..5751dd0 100755 (executable)
@@ -49,6 +49,12 @@ then
 TARGET_PACK_NAME=pack_brandy_native_js_z1
 APPLICATION_NAME=brandy-native-js-z1
 fi
+if [ "$1" == "lt22" ]
+then
+TARGET_PACK_NAME=pack_brandy_native_js_lt22
+APPLICATION_NAME=brandy-native-js-lt22
+fi
+
 }
 CURRENT_BRANCH=`git branch |awk '$1=="*"{print $2}'`
 COMMIT_ID=`git rev-parse HEAD`
index 4fc1401..cd87c72 100755 (executable)
 #include "custom_utils.h"\r
 #endif\r
 \r
+#ifdef SUPPORT_A5133_SERVICE\r
+#include "service/a5133_service.h"\r
+#endif\r
+\r
 #define EMMC_BASE_ADDR              0x52062000\r
 #define TASK_PRIORITY_APP           (osPriority_t)(17)\r
 #define TICK_TEN_MS                 (10U)\r
@@ -463,6 +467,10 @@ static void thread_main(const void *unused)
     uapi_alipay_svr_init();\r
 #endif\r
  \r
+#ifdef SUPPORT_A5133_SERVICE\r
+    uapi_a5133_service_init();\r
+#endif\r
+\r
     startup_post_init();\r
 \r
     set_startup_finish_flag();\r
index 53d4fd4..6b80332 100644 (file)
@@ -695,6 +695,14 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/goal/src/goalControlView.cpp
     #${CMAKE_CURRENT_SOURCE_DIR} /service/acc_service.c
 )
+
+
+if("SUPPORT_A5133_SERVICE" IN_LIST DEFINES)
+set(SOURCES
+    ${SOURCES}
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/producttest/src/testA5133.cpp
+)
+endif()
 if("SUPPORT_ALIPAY_SEC" IN_LIST DEFINES)
 set(SOURCES   
     ${SOURCES}
diff --git a/code/sdk/application/wearable/fd230app/nativeui/producttest/include/testA5133.h b/code/sdk/application/wearable/fd230app/nativeui/producttest/include/testA5133.h
new file mode 100644 (file)
index 0000000..cabadad
--- /dev/null
@@ -0,0 +1,80 @@
+#ifndef TEST_A5133_VIEW_H
+#define TEST_A5133_VIEW_H
+
+#include "BaseView.h"
+#include "View.h"
+#include "components/ui_scroll_view.h"
+#include "components/ui_label.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_button.h"
+#include "components/ui_image_view.h"
+#include "components/ui_label_button_ext.h"
+
+//#include "cmsis_os.h"
+#include <iostream>
+namespace OHOS
+{
+        
+    class testA5133View
+    {
+
+    public:
+       struct ButtonConfig_ext_t
+        {
+            int x;
+            int y;
+            int w;
+            int h;
+            const char *str;
+            const char *ViewId;
+            const char *ImageSrc;
+
+            //label
+            int label_x;
+            int label_y;
+            uint8_t ALIGN;
+            int  Fontsize;
+        
+        };
+        
+        struct LabelConfig
+        {
+            int16_t left;
+            int16_t top;
+            int16_t width;
+            int16_t height;
+            int16_t fontSize;      // 字体大小
+            int16_t lineHeigh;     // 行高
+            char *text;      // 文本
+            uint8_t lineBreakMode; // 断行模式。
+        };
+
+        
+        testA5133View();
+        virtual ~testA5133View();
+        static testA5133View *GetInstance(void);
+        void dial_112(bool);
+        void BT_discovery_callback(void);
+
+        UIScrollView *testA5133InitIView(void);
+        void ClearAll(void);
+        void set_BR_connect(char *);
+        bool  br_scan_set_text(unsigned char *name ,unsigned char *addr,int16_t rssi,int i);
+        UILabelButtonExt* button{NULL};
+
+    private:
+        UILabelButtonExt *SetTheButton_ext(ButtonConfig_ext_t &buttonconfig);//, UIView::OnTouchListener *clickListener);
+        UILabel *InitLabel(LabelConfig &labelConfig);
+        bool testA5133ScrollViewcrollViewinit(void);
+        UIScrollView *testa5133ScrollView{nullptr};
+     
+      
+        UILabelButtonExt* labelButton_next = nullptr;
+        UILabel *label_a5133_SCAN[5]{nullptr};
+
+        bool initViewStatus{false};
+        UILabel *Title{nullptr};           // 标题
+       
+    };
+}
+#endif
\ No newline at end of file
index d3e76ad..6d7f831 100644 (file)
@@ -41,6 +41,9 @@ namespace OHOS
         \r
         shutdown,\r
         FACTORYRESE,\r
+#ifdef SUPPORT_A5133_SERVICE\r
+        RF5133,\r
+#endif\r
         TEST_1,\r
         \r
         MAX_TESTVIEWID,\r
index 06c7b1a..1c70adb 100644 (file)
@@ -28,7 +28,9 @@
 #include "producttest/include/testold.h"\r
 #include "producttest/include/testbt.h"\r
 #include "producttest/include/testSEChipTest.h"\r
-\r
+#ifdef SUPPORT_A5133_SERVICE\r
+#include "producttest/include/testA5133.h"\r
+#endif\r
 namespace OHOS\r
 {\r
     \r
@@ -89,7 +91,9 @@ namespace OHOS
         bool ChangeoldTESTView(int16_t thisView);\r
         bool ChangeBTTESTView(int16_t thisView);\r
         bool ChangeSEChipTESTView(int16_t thisView);\r
-\r
+    #ifdef SUPPORT_A5133_SERVICE\r
+        bool ChangeA5133TESTView(int16_t thisView);\r
+    #endif\r
         bool ClickFunc(int16_t interface);\r
         void ChangeView(int16_t hideView, int16_t showView);\r
         UIScrollView *GetSystemScrollView(int ViewId);\r
@@ -104,7 +108,7 @@ namespace OHOS
         UILabelButtonExt *SetTheButton_ext(ButtonConfig_ext_t &ButtonConfig_ext, UIView::OnClickListener *clickListener);\r
        \r
         testAboutView *test_about_view;\r
-        UIScrollView *SystemScrollView[20]{nullptr};\r
+        UIScrollView *SystemScrollView[30]{nullptr};\r
         UILabel *SystemLabel{nullptr}; // 标题\r
         UILabelButtonExt *SystemUpgradeButtonExt{nullptr};\r
 \r
@@ -125,7 +129,9 @@ namespace OHOS
         testBTView *test_BT_view{nullptr};\r
 \r
         testSEChipView *test_SEChip_view{nullptr};\r
-\r
+    #ifdef SUPPORT_A5133_SERVICE\r
+        testA5133View  *test_A5133_view{nullptr};\r
+    #endif\r
         UILabelButtonExt *button[20]={NULL};\r
         bool initViewStatus{false};\r
     };\r
diff --git a/code/sdk/application/wearable/fd230app/nativeui/producttest/src/testA5133.cpp b/code/sdk/application/wearable/fd230app/nativeui/producttest/src/testA5133.cpp
new file mode 100644 (file)
index 0000000..d694701
--- /dev/null
@@ -0,0 +1,335 @@
+#include "wearable_log.h"
+#include "custom_utils.h"
+#include "producttest/include/testPresenter.h"
+#include "producttest/include/testA5133.h" 
+#include "AlarmClockModel.h"
+#include "cmsis_os2.h"
+#include "cat1_server.h"
+#include "cat1_ctl.h"
+#include "cat1_server_hal.h"
+#include "custom_runtime.h"
+#include "bts_br_gap.h"
+#include "bts_le_gap.h"
+#include "bleService.h"
+#include "BluetoothModel.h"
+#ifdef __cplusplus
+#if __cplusplus
+extern "C"
+{
+#endif
+#endif
+    #include "pm_veto.h"
+    #include "pm.h"
+#ifdef __cplusplus
+#if __cplusplus
+}
+#endif
+#endif
+
+namespace OHOS
+{
+    // #define BLE_scan
+    static testA5133View *g_ptestA5133View{nullptr};
+
+    testA5133View::testA5133View()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemAboutTheWatchView::SystemAboutTheWatchView");
+        g_ptestA5133View = this;
+    }
+
+    testA5133View::~testA5133View()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "testA5133View::~testA5133View");
+        ClearAll();
+        //g_ptestA5133View = nullptr;
+    }
+
+    testA5133View *testA5133View::GetInstance()
+    {
+        return g_ptestA5133View;
+    }
+    static osTimerId_t BR_TEST_timer=NULL;
+    void testA5133View::ClearAll()
+    {
+        if(testa5133ScrollView)
+        {
+            BluetoothModel::GetInstance()->SetCaseListClear();
+
+            testa5133ScrollView->RemoveAll();
+
+            if (BR_TEST_timer != NULL) {
+                osTimerStop(BR_TEST_timer);
+                osTimerDelete(BR_TEST_timer);
+                BR_TEST_timer = NULL;
+                return ;
+            }
+            if(button)
+            {
+                delete button;
+                button=nullptr;
+            }
+
+            if(labelButton_next)
+            {
+                delete labelButton_next;
+                labelButton_next=nullptr;
+            }
+         
+
+            if(Title)
+            {
+                delete Title;
+                Title=nullptr;
+            }
+            
+            for(int i=0;i<5;i++)
+            {
+                if(label_a5133_SCAN[i])
+                {
+                    delete label_a5133_SCAN[i];
+                    label_a5133_SCAN[i]=nullptr;
+                }
+            }
+           
+
+            uint8_t cnt = pm_veto_get_id_cnt(PM_ID_P_TEST);
+            if (cnt == 1) {
+                uapi_pm_remove_sleep_veto(PM_ID_P_TEST);
+            } else {
+                // WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has got pm_id_cat1 vote\r\n");
+            }
+
+
+            delete testa5133ScrollView;
+            testa5133ScrollView=nullptr;
+       }
+    }
+   
+   
+
+    UILabelButtonExt *testA5133View::SetTheButton_ext(ButtonConfig_ext_t &buttonconfig)
+    {
+        UILabelButtonExt *button = new UILabelButtonExt();
+        if (button == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::SetTheButton: button new  fail!");
+            return nullptr;
+        }
+        button->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h);
+        button->SetViewId(buttonconfig.ViewId);
+        button->SetStyle(STYLE_BACKGROUND_COLOR, Color::Blue().full);
+        //button->SetStyle(STYLE_BORDER_RADIUS,0);
+        button->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED);
+        //button->SetStyleForState(STYLE_BORDER_RADIUS,0, UIButton::PRESSED);
+        button->SetTouchable(true);
+        button->SetStyle(STYLE_BACKGROUND_OPA, 0x80);
+        button->SetText(buttonconfig.str);
+        button->SetAlign(TEXT_ALIGNMENT_LEFT);
+        button->SetLabelPosition(buttonconfig.label_x,buttonconfig.label_y );
+        button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, buttonconfig.Fontsize);
+        UIView:: OnClickListener *touchListener = static_cast<UIView::OnClickListener *>(testPresenter::GetInstance());
+        button->SetOnClickListener(touchListener);
+
+        // UIView::OnDragListener *drgListener = static_cast<UIView::OnDragListener *>(testPresenter::GetInstance());
+        // button->SetOnDragListener(drgListener);
+
+        // button->SetDraggable(false);
+        return button;
+    }
+    static bool speakfalg=false;
+   
+    static bool discovery_falg=false;
+   
+    void testA5133View:: BT_discovery_callback( void)
+    {
+        
+        bool reT_gap;
+        if(discovery_falg==false)
+        {
+
+            
+            button->SetText("scaning");
+            button->SetStyle(STYLE_BACKGROUND_COLOR, Color::Green().full);
+            discovery_falg=true;
+        }
+        else
+        {
+            
+            button->SetText("discovery");
+            button->SetStyle(STYLE_BACKGROUND_COLOR, Color::Blue().full);   
+
+            discovery_falg=false;
+        } 
+    }
+
+
+     UILabel *testA5133View::InitLabel(LabelConfig &labelConfig)
+    {
+        UILabel *label = new UILabel();
+        if (label == nullptr)
+        {
+            return nullptr;
+        }
+        label->SetPosition(labelConfig.left, labelConfig.top, labelConfig.width, labelConfig.height); // 位置大小
+        label->SetStyle(STYLE_TEXT_FONT, labelConfig.fontSize);                                       // 字体大小
+        label->SetStyle(STYLE_LINE_HEIGHT, labelConfig.lineHeigh);                                    // 字体行高
+        label->SetText(labelConfig.text);                                                             // 内容
+        label->SetLineBreakMode(labelConfig.lineBreakMode);                                           // 断行模式。
+        label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_TOP);
+        label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelConfig.fontSize);
+        label->SetAlign(TEXT_ALIGNMENT_LEFT);
+        return label;
+    }
+
+
+    static bd_addr_t bd_addr;
+    static unsigned char addr[6] = {0};
+    static uint8_t number =0;
+    static uint8_t  scan_i=0;
+
+    static void sample_gap_discovery_result_callback(const bd_addr_t *bd_addr)
+    {
+        unsigned char length = BD_NAME_LEN;
+        unsigned char *device_name = (unsigned char *)(void *)malloc(length);
+        if (device_name == NULL) {
+              WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"gap_discovery_result_callback malloc error!\n");
+            return;
+        }
+        (void)memset_s(device_name, length, 0, length);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RemovePair gap_get_paired_devices_list ret = %s %s", device_name,bd_addr);
+        number++;
+
+        free(device_name);
+    }
+
+
+    static void  mgdataTimerCallBack(int data)
+    {
+
+        
+
+    }  
+
+    bool  testA5133View::br_scan_set_text(unsigned char *name ,unsigned char *addr,int16_t rssi,int i)
+    {
+        if(i>=5)
+        {
+            return false;
+        }
+        char buf[128]={0};
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "rssi %d",rssi);
+
+        sprintf_s(buf,128,"addr:%02X %02X %02X %02X %02X %02X\nRssi:%d",addr[0],addr[1],addr[2],addr[3],addr[4],addr[5],rssi);
+        label_a5133_SCAN[i]->SetText(buf);
+        RootView::GetInstance()->Invalidate();
+        
+        return true;
+    }
+
+    
+    bool testA5133View::testA5133ScrollViewcrollViewinit(void)
+    {
+
+        testa5133ScrollView = new UIScrollView();
+        if (testa5133ScrollView == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemAboutTheWatchView::testa5133ScrollView new fail!");
+            return false;
+        }
+        testa5133ScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+        testa5133ScrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+        testa5133ScrollView->SetStyle(STYLE_BORDER_RADIUS, 0);
+        testa5133ScrollView->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+        testa5133ScrollView->SetStyle(STYLE_BORDER_COLOR, Color::Yellow().blue);
+        testa5133ScrollView->SetScrollBlankSize(50);
+        testa5133ScrollView->SetReboundSize(50);
+        testa5133ScrollView->SetDirection(1);
+
+
+        LabelConfig Config = {
+            .left = 33,
+            .top = 80,
+            .width = 400,
+            .height = 44,
+            .fontSize = 30,
+            .lineHeigh = 0,
+            .text = "",
+            .lineBreakMode = UILabel::LINE_BREAK_WRAP,
+        };
+
+
+        for(int i=0 ;i<5;i++)
+        {
+            Config.top+=100;
+            label_a5133_SCAN[i]= InitLabel(Config);
+            testa5133ScrollView->Add(label_a5133_SCAN[i]);
+        }
+
+        ButtonConfig_ext_t buttonconfig;
+        buttonconfig.x = 55;
+        buttonconfig.y = 80;
+        buttonconfig.w = 180;
+        buttonconfig.h = 88;
+        buttonconfig.label_x=40;
+        buttonconfig.label_y=0;
+        buttonconfig.Fontsize=30;
+        buttonconfig.ViewId="discovery";
+        buttonconfig.str="discovery";
+        buttonconfig.ALIGN=TEXT_ALIGNMENT_LEFT;
+
+        button=SetTheButton_ext(buttonconfig);
+        testa5133ScrollView->Add(button);
+
+
+        UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(testPresenter::GetInstance());
+        if (draglistener == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::draglistener can not be nullptr!");
+            return false;
+        }
+        testa5133ScrollView->SetOnDragListener(draglistener);
+
+
+
+        labelButton_next= testAboutView::GetInstance()->init_button_next(270,80,"SEChipTestbutton_next");
+        testa5133ScrollView->Add(labelButton_next);
+        
+        Title= testAboutView::GetInstance()->init_title(165,45,"BT_TEST");
+        testa5133ScrollView->Add(Title);
+
+
+        testa5133ScrollView->SetTouchable(true);
+        testa5133ScrollView->SetDraggable(true);
+        uint32_t tick;
+        osStatus_t retTimer;
+        BR_TEST_timer = osTimerNew((osTimerFunc_t)mgdataTimerCallBack, osTimerPeriodic, NULL, NULL);
+        tick =5000;// osMs2Tick(1000);
+        retTimer = osTimerStart(BR_TEST_timer, tick);
+        if (retTimer != osOK && BR_TEST_timer != NULL) {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"StartCallTimer osTimerStart failed, ret = %lx!!", retTimer);
+            osTimerDelete(BR_TEST_timer);
+            BR_TEST_timer = NULL;
+            return false;
+        }
+
+        discovery_falg=false;
+        uint8_t cnt = pm_veto_get_id_cnt(PM_ID_P_TEST);
+        if (cnt == 0) {
+            uapi_pm_add_sleep_veto(PM_ID_P_TEST);
+        } else {
+            // WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has got pm_id_cat1 vote\r\n");
+        }
+
+        return true;
+    }
+
+    UIScrollView *testA5133View::testA5133InitIView()
+    {
+        if (!testA5133ScrollViewcrollViewinit())
+        {
+            return nullptr;
+        }
+        return testa5133ScrollView;
+    }
+}
+
index 879f0b4..db7463f 100644 (file)
@@ -59,6 +59,9 @@ namespace OHOS
         {DEEPSLEEP,"deepsleep","xxxxxxxxx",true},\r
         {shutdown,"shutdown","xxxxxxxxx",true},\r
         {FACTORYRESE,"FactoryReset","xxxxxxxxx",true},\r
+    #ifdef SUPPORT_A5133_SERVICE\r
+        {RF5133,"RF5133","xxxxxxxxx",true},\r
+    #endif\r
         };\r
         // {FACTORYRESETVIEW,"FactoryResetButton",true},\r
         // {SYSTEMLUPGRADE,"systemupgread",true},\r
@@ -217,7 +220,7 @@ namespace OHOS
             mcu_pm_lcd_off(NULL,NULL);\r
             return true;\r
         }\r
-\r
+        \r
         if(strcmp(view.GetViewId(),"FactoryReset") == 0)\r
         {\r
             //TODO: close bt and cat1 , then deepsleep\r
index f78493d..5cdab65 100644 (file)
@@ -45,6 +45,9 @@ namespace OHOS
         {DEEPSLEEP,"deepsleep","DeepSleepCurrent" ,&testView::ChangeoldTESTView},\r
         {shutdown,"shutdown","shutdown" ,&testView::ChangeoldTESTView},\r
         {FACTORYRESE,"FactoryReset","FactoryReset", &testView::ChangeoldTESTView},\r
+    #ifdef SUPPORT_A5133_SERVICE\r
+        {RF5133,"RF5133","RF5133", &testView::ChangeA5133TESTView},\r
+    #endif\r
         // {SYSTEMLUPGRADE,"systemupgread","系统升级",&testView::ChangeSystemAboutView},\r
         // {TEST,"testButton","测试模式", &testView::ChangeSystemAboutView},\r
         \r
@@ -56,13 +59,13 @@ namespace OHOS
     \r
     testView::testView()\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemView");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "testView::testView");\r
         g_pSystemView = this;\r
     }\r
 \r
     testView::~testView()\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::~SystemView");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "testView::~testView");\r
         ClearAll();\r
         g_pSystemView = nullptr;\r
     }\r
@@ -159,6 +162,13 @@ namespace OHOS
             delete test_G_view;//13\r
             test_G_view= nullptr;\r
             }\r
+#ifdef SUPPORT_A5133_SERVICE\r
+            if(test_A5133_view)\r
+            {\r
+            delete test_A5133_view;//13\r
+            test_A5133_view= nullptr;\r
+            }\r
+#endif\r
             // delete test_G_view;//13\r
             // test_G_view= nullptr;\r
 \r
@@ -186,7 +196,7 @@ namespace OHOS
         SystemScrollView[TESTVIEW] = new UIScrollView();\r
         if (SystemScrollView[TESTVIEW] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemScrollView new fail!");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SetTheSystemScrollView new fail!");\r
             return false;\r
         }\r
         SystemScrollView[TESTVIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
@@ -336,7 +346,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeLCDTESTView");\r
             test_LCD_view = new testLCDView();\r
             if (test_LCD_view == nullptr)\r
             {\r
@@ -353,7 +363,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeTPTESTView");\r
             test_TP_view = new testTPView();\r
             if (test_TP_view == nullptr)\r
             {\r
@@ -370,7 +380,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeMGTESTView");\r
             test_MG_view = new testMagicView();\r
             if (test_MG_view == nullptr)\r
             {\r
@@ -387,7 +397,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangLUMTESTView");\r
             test_lum_view = new testLUMView();\r
             if (test_lum_view == nullptr)\r
             {\r
@@ -404,7 +414,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangchargingTESTView");\r
             test_charging_view = new testCHANINGView();\r
             if (test_charging_view == nullptr)\r
             {\r
@@ -421,7 +431,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangspeakTESTView");\r
             test_speak_view = new testSPEAKView();\r
             if (test_speak_view == nullptr)\r
             {\r
@@ -438,7 +448,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangmotorTESTView");\r
             test_motor_view = new testMOTORView();\r
             if (test_motor_view == nullptr)\r
             {\r
@@ -455,7 +465,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeCAT1TESTView");\r
             test_cat1_view = new testcat1View();\r
             if (test_cat1_view == nullptr)\r
             {\r
@@ -472,7 +482,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangKEYTESTView");\r
             test_KEY_view = new testbuttonView();\r
             if (test_KEY_view == nullptr)\r
             {\r
@@ -489,7 +499,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeMPTESTView");\r
             test_MP_view = new testmicrohoneView();\r
             if (test_MP_view == nullptr)\r
             {\r
@@ -506,7 +516,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeHRTESTView");\r
             test_hr_view = new testhrsenson1View();\r
             if (test_hr_view == nullptr)\r
             {\r
@@ -524,7 +534,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeGTESTView");\r
             test_G_view = new testgsensonView();\r
             if (test_G_view == nullptr)\r
             {\r
@@ -541,7 +551,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeoldTESTView");\r
             test_old_view = new testoldView();\r
             if (test_old_view == nullptr)\r
             {\r
@@ -558,7 +568,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeBTTESTView");\r
             test_BT_view = new testBTView();\r
             if (test_BT_view == nullptr)\r
             {\r
@@ -576,7 +586,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSEChipTESTView");\r
             test_SEChip_view = new testSEChipView();\r
             if (test_SEChip_view == nullptr)\r
             {\r
@@ -588,8 +598,24 @@ namespace OHOS
         }\r
         return true;\r
     }\r
-\r
-\r
+#ifdef SUPPORT_A5133_SERVICE\r
+    bool testView::ChangeA5133TESTView(int16_t thisView)\r
+    {\r
+        if (SystemScrollView[thisView] == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeA5133TESTView");\r
+            test_A5133_view = new testA5133View();\r
+            if (test_A5133_view == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView);\r
+                return false;\r
+            }\r
+            SystemScrollView[thisView] = test_A5133_view->testA5133InitIView();\r
+            RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+        }\r
+        return true;\r
+    }\r
+#endif\r
 \r
     UIScrollView *testView::GetSystemScrollView(int ViewId)\r
     {\r
@@ -735,12 +761,19 @@ namespace OHOS
                 test_SEChip_view = nullptr;\r
                 SystemScrollView[hideView]=nullptr;\r
                 break;\r
-                \r
+#ifdef SUPPORT_A5133_SERVICE\r
+            case RF5133:\r
+                RootView::GetInstance()->Remove(SystemScrollView[hideView]);\r
+                delete test_A5133_view;  \r
+                test_A5133_view = nullptr;\r
+                SystemScrollView[hideView]=nullptr;\r
+                break;\r
+#endif\r
            default:\r
             break;\r
            }\r
         }\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "change>>>>>>>>>>>>>");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "change>>>>>>>>>>>hideView %d > showView %d >>>",hideView,showView);\r
        \r
     }\r
     /* -------------------------------------------------------------------------- */\r
diff --git a/code/sdk/application/wearable/service/msg_center/brandy-native-js-lt22/libmsg_center.a b/code/sdk/application/wearable/service/msg_center/brandy-native-js-lt22/libmsg_center.a
new file mode 100644 (file)
index 0000000..5ee51f2
Binary files /dev/null and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-lt22/libmsg_center.a differ
index 65fb3d4..744f178 100755 (executable)
@@ -207,6 +207,12 @@ target = {
         'defines': ['CUSTOM_Z1'],
         'fs_image_path':'z1',
     },
+    'brandy-native-js-lt22': {
+        'base_target_name': 'brandy-native-js',
+        'defines': ['SUPPORT_A5133_SERVICE'],
+        'ram_component':["driver_a5133","a5133_service"],
+        'fs_image_path':'fd230',
+    },
     #native-xts: liteos + uikit + nandflash + mipi + psram + audio  典型合封UIKIT版本
     'brandy-xts': {
         'board': 'evb',
@@ -397,6 +403,7 @@ target_group = {
     'pack_brandy_native_js_user': ['brandy-ssb', 'brandy-native-js-r', 'brandy-native-js-user'],
     'pack_brandy_native_js_fd230': ['brandy-ssb', 'brandy-native-js-r', 'brandy-native-fd230'],
     'pack_brandy_native_js_z1': ['brandy-ssb', 'brandy-native-js-r', 'brandy-native-js-z1'],
+    'pack_brandy_native_js_lt22': ['brandy-ssb', 'brandy-native-js-r', 'brandy-native-js-lt22'],
     'pack_brandy_xts': ['brandy-ssb', 'brandy-xts-r', 'brandy-xts'],
 
     'brandy_all': ['brandy-ssb',
index 26fb5c3..949291e 100755 (executable)
@@ -94,12 +94,19 @@ const hal_pio_config_t g_pio_function_config[PIN_MAX_NUMBER] = {
 // #endif
 
     { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },     // S_MGPIO5  NC
+#ifdef A5133_USE_HW_SPI
     { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE },  // S_MGPIO6  SPI1 DI
     { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE },  // S_MGPIO7 SPI1 DO
     { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE },  // S_MGPIO8 SPI1 CLK
     { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE },   // S_MGPIO9 SPI1 CS0
     { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_MGPIO10 SPI1 CS1 NC
-
+#else
+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },  // S_MGPIO6  SPI1 DI
+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },  // S_MGPIO7 SPI1 DO
+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },  // S_MGPIO8 SPI1 CLK
+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_MGPIO9 SPI1 CS0
+    { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE },   // S_MGPIO10 SPI1 CS1 NC
+#endif
     { HAL_PIO_FUNC_I2C0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO11 i2c0 SCL NC
     { HAL_PIO_FUNC_I2C0_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO12 I2C0 SDA
     { HAL_PIO_FUNC_I2C1_M1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_MGPIO13 I2C1 SCL touch i2c
index 10fe5b8..9a046ad 100644 (file)
@@ -18,3 +18,4 @@ add_subdirectory_if_exist(config)
 add_subdirectory_if_exist(rotary_encoder)
 add_subdirectory_if_exist(vibrator/service)
 add_subdirectory_if_exist(cywee)
+add_subdirectory_if_exist(a5133)
diff --git a/code/sdk/drivers/peripheral/a5133/A5133Config.h b/code/sdk/drivers/peripheral/a5133/A5133Config.h
new file mode 100644 (file)
index 0000000..2073d3f
--- /dev/null
@@ -0,0 +1,638 @@
+/********************************************************************\r
+*   A5133Config.h\r
+*   RF Chip-A5133 Config Definitions\r
+*\r
+********************************************************************/\r
+#ifndef _A5133CONFIG_h_\r
+#define _A5133CONFIG_h_\r
+#define code \r
+/************************************\r
+* Define DR\r
+************************************/\r
+#define DR_4Mbps        //IF=4MHz  \r
+//#define DR_2Mbps      //IF=2MHz                                              \r
+//#define DR_1Mbps      //IF=1MHz\r
+//#define DR_500Kbps     //IF=1MHz\r
+\r
+#ifdef DR_4Mbps\r
+const Uint8 code A5133_RFConfigTab_Main[]=\r
+{\r
+       0x00, //RESET register,                 \r
+       0x62, //MODE register, \r
+       0x00, //CALIBRATION register,   \r
+       0x3F, //FIFO1 register,\r
+       0x00, //FIFO2 register,\r
+       0x00, //FIFO register,                  \r
+       0x00, //IDDATA register,                \r
+       0x00, //RCOSC1 register,\r
+       0x00, //RCOSC2 register,\r
+       0x0C, //RCOSC3 register,\r
+       0x02, //CKO register,\r
+       0x01, //GPIO1 register\r
+       0x1D, //GPIO2 register,\r
+       0x1F, //DATARATECLOCK register,\r
+       0x00, //PLL1 register,\r
+       0x1E, //PLL2 register,                          \r
+       0x59, //PLL3 register,\r
+       0x74, //PLL4 register,\r
+       0x01, //PLL5 register,\r
+       0x28, //ChannelGroup1 register,\r
+       0x50, //ChannelGroup1 register,\r
+       0x2D, //TX1 register,                           \r
+       0x40, //TX2 register,\r
+       0x1B, //DELAY1 register,\r
+       0x40, //DELAY2 register,\r
+       0x70, //RX register,\r
+       0x7B, //RXGAIN1 register,\r
+       0xC0, //RXGAIN2 register,                               \r
+       0x3C, //RXGAIN3 register,\r
+       0xCA, //RXGAIN4 register,\r
+       0x00, //RSSI register,\r
+       0xC1, //ADC register,\r
+       0x00, //CODE1 register,\r
+       0x00, //CODE2 register,                                 \r
+       0x00, //CODE3 register,\r
+       0xE4, //IFCAL1 register,        \r
+       0x01, //IFCAL2 register,                        \r
+       0x4F, //VCOCCAL register,       \r
+       0xC0, //VCOCAL1 register,\r
+       0x80, //VCOCAL2 register,\r
+       0x30, //VCO deviation 1 register,\r
+       0x40, //VCO deviation 2 register,\r
+       0x00, //DSA register,\r
+       0xFF, //VCO Modulation delay register,  \r
+       0x40, //BATTERY register,        \r
+       0xA7, //TXTEST register,\r
+       0x57, //RXDEM1 register,\r
+       0x74, //RXDEM2 register,\r
+       0xF3, //CPC1 register,\r
+       0x33, //CPC2 register,  \r
+       0x4D, //CRYSTAL register,\r
+       0x15, //PLLTEST register,\r
+       0x0F, //VCOTEST register,\r
+       0x00, //RF Analog register,\r
+       0x00, //Key data register,\r
+       0x33, //Channel select register,   \r
+       0x00, //ROM register,\r
+       0x00, //DataRate register,\r
+       0x00, //FCR register,\r
+       0x00, //ARD register,\r
+       0x00, //AFEP register,\r
+       0x00, //FCB register,\r
+       0x00, //KEYC register,\r
+       0x00  //USID register,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x20[]=\r
+{\r
+       0x0E, //page0, \r
+       0x00, //page1,  \r
+       0x00, //Page2,\r
+       0x00, //page3,\r
+       0x00, //page4,\r
+       0x00, //page5,\r
+       0x00, //page6,\r
+       0x00, //page7,\r
+       0x00, //page8,\r
+       0x00, //page9,\r
+       0x02, //page10,\r
+       0x00, //page11,\r
+       0x00  //page12, \r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x21[]=\r
+{\r
+       0x09, //page0, \r
+       0x00, //page1,  \r
+       0x00, //Page2,\r
+       0x00, //page3,\r
+       0x00, //page4,\r
+       0x00, //page5,\r
+       0xE0, //page6,\r
+       0x00, //page7,\r
+       0x2C, //page8,\r
+       0x4F, //page9,\r
+       0x01, //page10\r
+       0x42, //page11\r
+       0x56  //page12 crystal type 3225, CL=9pF, CSXTL=108\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x22[]=\r
+{\r
+       0x00, //page0, \r
+       0x10, //page1,\r
+       0x00, //Page2,\r
+       0x10, //page3,\r
+       0x00, //page4,\r
+       0x04  //page5,  \r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x2A[]=\r
+{\r
+       0x00, //page0, \r
+       0x01, //page1,  \r
+       0xF0, //Page2,\r
+       0x80, //page3,\r
+       0x80, //page4,\r
+       0x48, //page5,\r
+       0x03, //page6,\r
+       0xC0, //page7,\r
+       0x3A, //page8,\r
+       0x3E, //page9,\r
+       0xE8, //page10,\r
+       0x80, //page11,\r
+       0x00  //page12,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x38[]=\r
+{\r
+       0x80, //page0,\r
+       0x50, //page1,\r
+       0x20, //page2,\r
+       0x64, //page3,\r
+       0x20, //page4,\r
+       0x40, //page5, \r
+       0x60, //page6,\r
+       0x04, //page7,\r
+       0x00, //page8,\r
+       0x00, //page9,\r
+       0x00, //page10,\r
+       0x00  //page11,\r
+};  \r
+\r
+const Uint8 code ACQ_Tab[]=\r
+{\r
+       0x03,0x50, 0x03,0x50, 0x03,0x50, 0x03,0x40, 0x03,0x40, 0x03,0x40, 0x03,0x40, 0x03,0x00,  //0c00~0x0F,\r
+  0x03,0x40, 0x03,0x40, 0x03,0x40, 0x02,0xB0, 0x03,0x20, 0x02,0xc0, 0x02,0x80, 0x03,0xF0,\r
+       0x02,0x80, 0x02,0x80, 0x02,0x80, 0x02,0x80, 0x03,0x20, 0x03,0x00, 0x03,0x20, 0x02,0xa0,  //0x10~0x1F\r
+  0x03,0x60, 0x02,0x80, 0x03,0x30, 0x03,0x40, 0x03,0x50, 0x03,0x40, 0x03,0x50, 0x03,0x00\r
+};             \r
+#endif /* end of DR_4Mbps */\r
+\r
+#ifdef DR_2Mbps\r
+const Uint8 code A5133_RFConfigTab_Main[]=\r
+{\r
+       0x00, //RESET register,                 \r
+       0x62, //MODE register, \r
+       0x00, //CALIBRATION register,   \r
+       0x3F, //FIFO1 register,\r
+       0x00, //FIFO2 register,\r
+       0x00, //FIFO register,                  \r
+       0x00, //IDDATA register,                \r
+       0x00, //RCOSC1 register,\r
+       0x00, //RCOSC2 register,\r
+       0x0C, //RCOSC3 register,\r
+       0x02, //CKO register,\r
+       0x01, //GPIO1 register\r
+       0x1D, //GPIO2 register,\r
+       0x1F, //DATARATECLOCK register,\r
+       0x00, //PLL1 register,\r
+       0x1E, //PLL2 register,                          \r
+       0x59, //PLL3 register,\r
+       0x74, //PLL4 register,\r
+       0x01, //PLL5 register,\r
+       0x28, //ChannelGroup1 register,\r
+       0x50, //ChannelGroup1 register,\r
+       0x2C, //TX1 register,                           \r
+       0x40, //TX2 register,\r
+       0x1B, //DELAY1 register,\r
+       0x40, //DELAY2 register,\r
+       0x70, //RX register,\r
+       0x7B, //RXGAIN1 register,\r
+       0xC0, //RXGAIN2 register,                               \r
+       0x1C, //RXGAIN3 register,\r
+       0xCA, //RXGAIN4 register,\r
+       0x00, //RSSI register,\r
+       0xC1, //ADC register,\r
+       0x00, //CODE1 register,\r
+       0x00, //CODE2 register,                                 \r
+       0x00, //CODE3 register,\r
+       0xA4, //IFCAL1 register,        \r
+       0x01, //IFCAL2 register,                        \r
+       0x4F, //VCOCCAL register,       \r
+       0xC0, //VCOCAL1 register,\r
+       0x80, //VCOCAL2 register,\r
+       0x30, //VCO deviation 1 register,\r
+       0x40, //VCO deviation 2 register,\r
+       0x00, //DSA register,\r
+       0xFF, //VCO Modulation delay register,  \r
+       0x40, //BATTERY register,        \r
+       0xA7, //TXTEST register,\r
+       0x57, //RXDEM1 register,\r
+       0x74, //RXDEM2 register,\r
+       0xF3, //CPC1 register,\r
+       0x33, //CPC2 register,  \r
+       0x4D, //CRYSTAL register,\r
+       0x15, //PLLTEST register,\r
+       0x0F, //VCOTEST register,\r
+       0x00, //RF Analog register,\r
+       0x00, //Key data register,\r
+       0x11, //Channel select register,   \r
+       0x00, //ROM register,\r
+       0x00, //DataRate register,\r
+       0x00, //FCR register,\r
+       0x00, //ARD register,\r
+       0x00, //AFEP register,\r
+       0x00, //FCB register,\r
+       0x00, //KEYC register,\r
+       0x00  //USID register,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x20[]=\r
+{\r
+       0x0E, //page0, \r
+       0x00, //page1,  \r
+       0x00, //Page2,\r
+       0x00, //page3,\r
+       0x00, //page4,\r
+       0x00, //page5,\r
+       0x00, //page6,\r
+       0x00, //page7,\r
+       0x00, //page8,\r
+       0x00, //page9,\r
+       0x02, //page10,\r
+       0x00, //page11,\r
+       0x00  //page12,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x21[]=\r
+{\r
+       0x09, //page0, \r
+       0x00, //page1,  \r
+       0x00, //Page2,\r
+       0x00, //page3,\r
+       0x00, //page4,\r
+       0x00, //page5,\r
+       0xE0, //page6,\r
+       0x00, //page7,\r
+       0x2C, //page8,\r
+       0x4F, //page9,\r
+       0x01, //page10\r
+       0x42, //page11\r
+       0x56  //page12\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x22[]=\r
+{\r
+       0x00, //page0, \r
+       0x10, //page1,\r
+       0x00, //Page2,\r
+       0x10, //page3,\r
+       0x00, //page4,\r
+       0x04  //page5,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x2A[]=\r
+{\r
+       0x00, //page0, \r
+       0x01, //page1,  \r
+       0xF0, //Page2,\r
+       0x80, //page3,\r
+       0x80, //page4,\r
+       0x48, //page5,\r
+       0x03, //page6,\r
+       0xC0, //page7,\r
+       0x3A, //page8,\r
+       0x3E, //page9,\r
+       0xE8, //page10,\r
+       0x80, //page11,\r
+       0x00  //page12,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x38[]=\r
+{\r
+       0x80, //page0,\r
+       0x50, //page1,\r
+       0x20, //page2,\r
+       0x64, //page3,\r
+       0x20, //page4,\r
+       0x40, //page5, \r
+       0x60, //page6,\r
+       0x04, //page7,\r
+       0x00, //page8,\r
+       0x00, //page9,\r
+       0x00, //page10,\r
+       0x00  //page11,\r
+};\r
+\r
+const Uint8 code ACQ_Tab[]=\r
+{\r
+  0x03,0x50, 0x03,0x50, 0x03,0x50, 0x03,0x40, 0x03,0x40, 0x03,0x40, 0x03,0x40, 0x03,0x00,  //0c00~0x0F,\r
+  0x03,0x40, 0x03,0x40, 0x03,0x40, 0x02,0xB0, 0x03,0x20, 0x02,0xc0, 0x02,0x80, 0x03,0xF0,\r
+       0x02,0x80, 0x02,0x80, 0x02,0x80, 0x02,0x80, 0x03,0x20, 0x03,0x00, 0x03,0x20, 0x02,0xa0,  //0x10~0x1F\r
+  0x03,0x60, 0x02,0x80, 0x03,0x30, 0x03,0x40, 0x03,0x50, 0x03,0x40, 0x03,0x50, 0x03,0x00\r
+};\r
+#endif /* end of DR_2Mbps */\r
+\r
+\r
+#ifdef DR_1Mbps\r
+const Uint8 code A5133_RFConfigTab_Main[]=\r
+{\r
+       0x00, //RESET register,                 \r
+       0x62, //MODE register, \r
+       0x00, //CALIBRATION register,   \r
+       0x3F, //FIFO1 register,\r
+       0x00, //FIFO2 register,\r
+       0x00, //FIFO register,                  \r
+       0x00, //IDDATA register,                \r
+       0x00, //RCOSC1 register,\r
+       0x00, //RCOSC2 register,\r
+       0x0C, //RCOSC3 register,\r
+       0x02, //CKO register,\r
+       0x01, //GPIO1 register\r
+       0x1D, //GPIO2 register,\r
+       0x1F, //DATARATECLOCK register,\r
+       0x00, //PLL1 register,\r
+       0x1E, //PLL2 register,                          \r
+       0x59, //PLL3 register,\r
+       0x74, //PLL4 register,\r
+       0x01, //PLL5 register,\r
+       0x28, //ChannelGroup1 register,\r
+       0x50, //ChannelGroup1 register,\r
+       0x2B, //TX1 register,                           \r
+       0x40, //TX2 register,\r
+       0x1B, //DELAY1 register,\r
+       0x40, //DELAY2 register,\r
+       0x70, //RX register,\r
+       0x7B, //RXGAIN1 register,\r
+       0xC0, //RXGAIN2 register,                               \r
+       0x0C, //RXGAIN3 register,\r
+       0xCA, //RXGAIN4 register,\r
+       0x00, //RSSI register,\r
+       0xC1, //ADC register,\r
+       0x00, //CODE1 register,\r
+       0x00, //CODE2 register,                                 \r
+       0x00, //CODE3 register,\r
+       0x84, //IFCAL1 register,        \r
+       0x01, //IFCAL2 register,                        \r
+       0x4F, //VCOCCAL register,       \r
+       0xC0, //VCOCAL1 register,\r
+       0x80, //VCOCAL2 register,\r
+       0x30, //VCO deviation 1 register,\r
+       0x40, //VCO deviation 2 register,\r
+       0x00, //DSA register,\r
+       0x40, //VCO Modulation delay register,  \r
+       0x40, //BATTERY register,        \r
+       0xE7, //TXTEST register,\r
+       0x57, //RXDEM1 register,\r
+       0x74, //RXDEM2 register,\r
+       0xF3, //CPC1 register,\r
+       0x33, //CPC2 register,  \r
+       0x4D, //CRYSTAL register,\r
+       0x15, //PLLTEST register,\r
+       0x0F, //VCOTEST register,\r
+       0x00, //RF Analog register,\r
+       0x00, //Key data register,\r
+       0x03, //Channel select register,   \r
+       0x00, //ROM register,\r
+       0x00, //DataRate register,\r
+       0x00, //FCR register,\r
+       0x00, //ARD register,\r
+       0x00, //AFEP register,\r
+       0x00, //FCB register,\r
+       0x00, //KEYC register,\r
+       0x00  //USID register,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x20[]=\r
+{\r
+       0x0E, //page0, \r
+       0x00, //page1,  \r
+       0x00, //Page2,\r
+       0x00, //page3,\r
+       0x00, //page4,\r
+       0x00, //page5,\r
+       0x00, //page6,\r
+       0x00, //page7,\r
+       0x00, //page8,\r
+       0x00, //page9,\r
+       0x02, //page10,\r
+       0x00, //page11,\r
+       0x00  //page12,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x21[]=\r
+{\r
+       0x09, //page0, \r
+       0x00, //page1,  \r
+       0x00, //Page2,\r
+       0x00, //page3,\r
+       0x00, //page4,\r
+       0x00, //page5,\r
+       0xE0, //page6,\r
+       0x00, //page7,\r
+       0x2C, //page8,\r
+       0x4F, //page9,\r
+       0x01, //page10\r
+       0x42, //page11\r
+       0x56  //page12\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x22[]=\r
+{\r
+       0x00, //page0, \r
+       0x10, //page1,\r
+       0x00, //Page2,\r
+       0x10, //page3,\r
+       0x00, //page4,\r
+       0x04  //page5,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x2A[]=\r
+{\r
+       0x00, //page0, \r
+       0x01, //page1,  \r
+       0xF0, //Page2,\r
+       0x80, //page3,\r
+       0x80, //page4,\r
+       0x48, //page5,\r
+       0x03, //page6,\r
+       0xC0, //page7,\r
+       0x3A, //page8,\r
+       0x3E, //page9,\r
+       0xE8, //page10,\r
+       0x80, //page11,\r
+       0x00  //page12,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x38[]=\r
+{\r
+       0x80, //page0,\r
+       0x50, //page1,\r
+       0x20, //page2,\r
+       0x64, //page3,\r
+       0x20, //page4,\r
+       0x40, //page5, \r
+       0x60, //page6,\r
+       0x04, //page7,\r
+       0x00, //page8,\r
+       0x00, //page9,\r
+       0x00, //page10,\r
+       0x00  //page11,\r
+};\r
+\r
+const Uint8 code ACQ_Tab[]=\r
+{\r
+       0x03,0x50, 0x03,0x50, 0x03,0x50, 0x03,0x40, 0x03,0x40, 0x03,0x40, 0x03,0x40, 0x03,0x00,  //0c00~0x0F,\r
+  0x03,0x40, 0x03,0x40, 0x03,0x40, 0x02,0xB0, 0x03,0x20, 0x02,0xc0, 0x02,0x80, 0x03,0xF0,\r
+       0x02,0x80, 0x02,0x80, 0x02,0x80, 0x02,0x80, 0x03,0x20, 0x03,0x00, 0x03,0x20, 0x02,0xa0,  //0x10~0x1F\r
+  0x03,0x60, 0x02,0x80, 0x03,0x30, 0x03,0x40, 0x03,0x50, 0x03,0x40, 0x03,0x50, 0x03,0x00\r
+};\r
+#endif /* end of DR_1Mbps */\r
+\r
+#ifdef DR_500Kbps \r
+const Uint8 code A5133_RFConfigTab_Main[]=\r
+{\r
+       0x00, //RESET register,         \r
+       0x62, //MODE register, \r
+       0x00, //CALIBRATION register,   \r
+       0x3F, //FIFO1 register,\r
+       0x00, //FIFO2 register,\r
+       0x00, //FIFO register,                  \r
+       0x00, //IDDATA register,                \r
+       0x00, //RCOSC1 register,\r
+       0x00, //RCOSC2 register,\r
+       0x0C, //RCOSC3 register,\r
+       0x02, //CKO register,\r
+       0x01, //GPIO1 register\r
+       0x1D, //GPIO2 register,\r
+       0x1F, //DATARATECLOCK register,\r
+       0x00, //PLL1 register,\r
+       0x1E, //PLL2 register,\r
+       0x59, //PLL3 register,\r
+       0x74, //PLL4 register,\r
+       0x01, //PLL5 register,\r
+       0x28, //ChannelGroup1 register,\r
+       0x50, //ChannelGroup1 register,\r
+       0x2B, //TX1 register,                           \r
+       0x40, //TX2 register,\r
+       0x1B, //DELAY1 register,\r
+       0x40, //DELAY2 register,\r
+       0x70, //RX register,\r
+       0x7B, //RXGAIN1 register,\r
+       0xC0, //RXGAIN2 register,                               \r
+       0x0C, //RXGAIN3 register,\r
+       0xCA, //RXGAIN4 register,\r
+       0x00, //RSSI register,\r
+       0xC1, //ADC register,\r
+       0x00, //CODE1 register,\r
+       0x00, //CODE2 register,                                 \r
+       0x00, //CODE3 register,\r
+       0x84, //IFCAL1 register,        \r
+       0x01, //IFCAL2 register,                        \r
+       0x4F, //VCOCCAL register,       \r
+       0xC0, //VCOCAL1 register,\r
+       0x80, //VCOCAL2 register,\r
+       0x30, //VCO deviation 1 register,\r
+       0x40, //VCO deviation 2 register,\r
+       0x00, //DSA register,\r
+       0x40, //VCO Modulation delay register,  \r
+       0x40, //BATTERY register,        \r
+       0xE7, //TXTEST register,\r
+       0x57, //RXDEM1 register,\r
+       0x74, //RXDEM2 register,\r
+       0xF3, //CPC1 register,\r
+       0x33, //CPC2 register,   \r
+       0x4D, //CRYSTAL register,\r
+       0x15, //PLLTEST register,\r
+       0x0F, //VCOTEST register,\r
+       0x00, //RF Analog register,\r
+       0x00, //Key data register,\r
+       0x03, //Channel select register,   \r
+       0x00, //ROM register,\r
+       0x01, //DataRate register,\r
+       0x00, //FCR register,\r
+       0x00, //ARD register,\r
+       0x00, //AFEP register,\r
+       0x00, //FCB register,\r
+       0x00, //KEYC register,\r
+       0x00  //USID register,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x20[]=\r
+{\r
+       0x0E, //page0,\r
+       0x00, //page1,  \r
+       0x00, //Page2,\r
+       0x00, //page3,\r
+       0x00, //page4,\r
+       0x00, //page5,\r
+       0x00, //page6,\r
+       0x00, //page7,\r
+       0x00, //page8,\r
+       0x00, //page9,\r
+       0x02, //page10,\r
+       0x00, //page11,\r
+       0x00  //page12,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x21[]=\r
+{\r
+       0x09, //page0,\r
+       0x00, //page1,  \r
+       0x00, //Page2,\r
+       0x00, //page3,\r
+       0x00, //page4,\r
+       0x00, //page5,\r
+       0xE0, //page6, \r
+       0x00, //page7,\r
+       0x2C, //page8,\r
+       0x4F, //page9,\r
+       0x01, //page10\r
+       0x42, //page11\r
+       0x56  //page12\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x22[]=\r
+{\r
+       0x00, //page0, \r
+       0x10, //page1,\r
+       0x00, //Page2,\r
+       0x10, //page3,\r
+       0x00, //page4,\r
+       0x04  //page5,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x2A[]=\r
+{\r
+       0x00, //page0,\r
+       0x01, //page1,  \r
+       0xF0, //Page2,\r
+       0x80, //page3,\r
+       0x80, //page4,\r
+       0x48, //page5,\r
+       0x03, //page6,\r
+       0x40, //page7,\r
+       0x3A, //page8,\r
+       0x3E, //page9,\r
+       0xE8, //page10,\r
+       0x80, //page11,\r
+       0x00  //page12,\r
+};\r
+\r
+const Uint8 code A5133_RFConfigTab_Addr0x38[]=\r
+{\r
+       0x80, //page0,\r
+       0x50, //page1,\r
+       0x20, //page2,\r
+       0x64, //page3,\r
+       0x20, //page4,\r
+       0x40, //page5, \r
+       0x60, //page6,\r
+       0x04, //page7,\r
+       0x00, //page8,\r
+       0x00, //page9,\r
+       0x00, //page10,\r
+       0x00  //page11,\r
+};\r
+\r
+const Uint8 code ACQ_Tab[]=\r
+{\r
+       0x03,0x50, 0x03,0x50, 0x03,0x50, 0x03,0x40, 0x03,0x40, 0x03,0x40, 0x03,0x40, 0x03,0x00,  //0c00~0x0F,\r
+  0x03,0x40, 0x03,0x40, 0x03,0x40, 0x02,0xB0, 0x03,0x20, 0x02,0xc0, 0x02,0x80, 0x03,0xF0,\r
+       0x02,0x80, 0x02,0x80, 0x02,0x80, 0x02,0x80, 0x03,0x20, 0x03,0x00, 0x03,0x20, 0x02,0xa0,  //0x10~0x1F\r
+  0x03,0x60, 0x02,0x80, 0x03,0x30, 0x03,0x40, 0x03,0x50, 0x03,0x40, 0x03,0x50, 0x03,0x00\r
+};\r
+#endif /* end of DR_500Kbps */\r
+\r
+#endif\r
diff --git a/code/sdk/drivers/peripheral/a5133/A5133GlobalVar.h b/code/sdk/drivers/peripheral/a5133/A5133GlobalVar.h
new file mode 100644 (file)
index 0000000..10be5de
--- /dev/null
@@ -0,0 +1,71 @@
+#ifndef _A5133_GLOBALVAR_H_\r
+#define _A5133_GLOBALVAR_H_\r
+\r
+#ifdef _MAIN_C_\r
+/************************************************************************\r
+**  Global Variable Declaration\r
+************************************************************************/\r
+Uint8          data       timer;\r
+Uint16   data     TimerCnt;\r
+Uint8          data     Slot_TX;\r
+Uint8          data       Flag_Timeout;\r
+Uint16 idata   RxCnt;\r
+Uint8    data    *Uartptr;\r
+Uint8          data       UartSendCnt;\r
+Uint8          data       CmdBuf[25];\r
+Uint8          idata      tmpbuf[80];\r
+Uint16 idata   Err_Loss;\r
+Uint16   idata    Err_Frame;\r
+Uint32 idata      Err_BitCnt;\r
+Uint8          data       Flag_Report;\r
+Uint8    idata    Flag_FirstLink;\r
+Uint8    idata    Flag_MASTER;\r
+\r
+const Uint8 code BitCount_Tab[16] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4};\r
+//const Uint8 //code ID_Tab[8]={0x34,0x75,0xC5,0x2A,0xC7,0x33,0x45,0xEA}; //ID code\r
+const Uint8 code ID_Tab[8]={0x55,0x55,0x55,0x55,0x34,0x75,0xC5,0x6A}; //ID2 code\r
+//const Uint8 code ID_Tab[8]={0xFF,0xFF,0xFF,0xFF,0x36,0x75,0xC5,0xBA}; //ID2 code\r
+//const Uint8 code ID_Tab[8]={0x34,0x75,0xC5,0x2A,0x34,0x75,0xC5,0x2A}; //ID2 code\r
+const Uint8 code KeyData_Tab[16]={0x00,0x00,0x00,0x00,0x00,0x0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //keyData code\r
+const Uint8 code FCB_Tab[20]={0x00,0x00,0x00,0x00,0x00,0x15,0x20,0x25,0x30,0x35,0x40,0x45,0x50,0x55,0x60,0x65,0x70,0x75,0x80,0x85}; //keyData code\r
+const Uint8 code PN9_Tab[]=\r
+{   0xFF,0x83,0xDF,0x17,0x32,0x09,0x4E,0xD1,\r
+    0xE7,0xCD,0x8A,0x91,0xC6,0xD5,0xC4,0xC4,\r
+    0x40,0x21,0x18,0x4E,0x55,0x86,0xF4,0xDC,\r
+    0x8A,0x15,0xA7,0xEC,0x92,0xDF,0x93,0x53,\r
+    0x30,0x18,0xCA,0x34,0xBF,0xA2,0xC7,0x59,\r
+    0x67,0x8F,0xBA,0x0D,0x6D,0xD8,0x2D,0x7D,\r
+    0x54,0x0A,0x57,0x97,0x70,0x39,0xD2,0x7A,\r
+    0xEA,0x24,0x33,0x85,0xED,0x9A,0x1D,0xE0,\r
+};\r
+\r
+#else \r
+/************************************************************************\r
+**  Extern Global Variable Declaration\r
+************************************************************************/\r
+extern Uint8   data       timer;\r
+extern Uint16  data     TimerCnt;\r
+extern Uint8   data     Slot_TX;\r
+extern Uint8   data       Flag_Timeout;\r
+extern Uint16  idata   RxCnt;\r
+extern Uint8   data    *Uartptr;\r
+extern Uint8   data       UartSendCnt;\r
+extern Uint8   data       CmdBuf[25];\r
+extern Uint8   idata      tmpbuf[80];\r
+extern Uint16  idata   Err_Loss;\r
+extern Uint16  idata    Err_Frame;\r
+extern Uint32  idata      Err_BitCnt;\r
+extern Uint8   data       Flag_Report;\r
+extern Uint8   idata    Flag_FirstLink;\r
+extern Uint8   data       Flag_MASTER;\r
+\r
+extern  const Uint8 code BitCount_Tab[16];\r
+extern  const Uint8 code ID_Tab[8];\r
+extern  const Uint8 code KeyData_Tab[];\r
+extern  const Uint8 code FCB_Tab[];\r
+extern  const Uint8 code PN9_Tab[];\r
+\r
+#endif\r
+\r
+#endif\r
+\r
diff --git a/code/sdk/drivers/peripheral/a5133/A5133Main.c b/code/sdk/drivers/peripheral/a5133/A5133Main.c
new file mode 100644 (file)
index 0000000..becb635
--- /dev/null
@@ -0,0 +1,859 @@
+/*********************************************************************                                                                   **\r
+**  Device:            A5133\r
+**  File:                      main.c\r
+**  Author:            JPH\r
+**  Target:            A8xxx\r
+**  Tools:             ICE\r
+**  Created:   \r
+**  Description:\r
+**  This file is a sample code for your reference.\r
+**\r
+**  Copyright (C) 2007 AMICCOM Electronics Corp.\r
+**\r
+**  Revision history:\r
+**\r
+*********************************************************************/\r
+#include "debug_print.h"\r
+#include "errcode.h"\r
+\r
+#include "A5133define.h"\r
+// #include "A8105Reg.h"\r
+\r
+#include "A5133reg.h"\r
+#include "A5133Config.h"\r
+#include "A5133Uti.h"\r
+#include "A5133main.h"\r
+#include "platform_core.h"\r
+#include "errcode.h"\r
+\r
+/*********************************************************************\r
+**  I/O Declaration\r
+// S_MGPIO6  SPI1 DI\r
+    { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE },  // S_MGPIO7 SPI1 DO\r
+    { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE },  // S_MGPIO8 SPI1 CLK\r
+    { HAL_PIO_FUNC_SPI1, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE },   // S_MGPIO9 SPI1 CS0\r
+*********************************************************************/\r
+\r
+\r
+static void nop(void){}\r
+\r
+#define idata\r
+\r
+/*********************************************************************\r
+**  Constant Declaration\r
+*********************************************************************/\r
+#define TIMEOUT           50\r
+#define t0hrel            1333//1000\r
+#define BaudRate38400   (65536-((16000000)/(32*38400)))\r
+\r
+/************************************************************************\r
+**  Global Variable Declaration\r
+************************************************************************/\r
+Uint8  data     timer;\r
+Uint16  data     TimerCnt;\r
+Uint8  data     Slot_TX;\r
+Uint8  data     Flag_Timeout;\r
+Uint16 idata    RxCnt;\r
+Uint8   data     *Uartptr;\r
+// Uint8       data     UartSendCnt;\r
+Uint8  data     CmdBuf[25];\r
+Uint8  idata    tmpbuf[80];\r
+Uint16 idata    Err_Loss;\r
+Uint16  idata    Err_Frame;\r
+Uint32 idata    Err_BitCnt;\r
+// Uint8       data     Flag_Report;\r
+// Uint8   idata    Flag_FirstLink;\r
+// Uint8   idata    Flag_MASTER;\r
+Uint8   idata    Mem_RH;\r
+Uint8   idata    Mem_RL;\r
+\r
+const Uint8 code BitCount_Tab[16] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4};\r
+const Uint8 code ID_Tab[8]={0xC3,0x3C,0x95,0x6A,0x36,0x75,0xC5,0x2A};//ID code\r
+//const Uint8 //code ID_Tab[8]={0x34,0x75,0xC5,0x2A,0xC7,0x33,0x45,0xEA};//ID code\r
+//const Uint8 code ID_Tab[8]={0x55,0x55,0x55,0x55,0x34,0x75,0xC5,0x6A}; //ID2 code\r
+//const Uint8 code ID_Tab[8]={0xFF,0xFF,0xFF,0xFF,0x36,0x75,0xC5,0xBA}; //ID2 code\r
+//const Uint8 code ID_Tab[8]={0x34,0x75,0xC5,0x2A,0x34,0x75,0xC5,0x2A}; //ID2 code\r
+const Uint8 code KeyData_Tab[16]={0x00,0x00,0x00,0x00,0x00,0x0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //keyData code\r
+const Uint8 code FCB_Tab[20]={0x00,0x00,0x00,0x00,0x00,0x15,0x20,0x25,0x30,0x35,0x40,0x45,0x50,0x55,0x60,0x65,0x70,0x75,0x80,0x85}; //keyData code\r
+const Uint8 code PN9_Tab[]=\r
+{   0xFF,0x83,0xDF,0x17,0x32,0x09,0x4E,0xD1,\r
+    0xE7,0xCD,0x8A,0x91,0xC6,0xD5,0xC4,0xC4,\r
+    0x40,0x21,0x18,0x4E,0x55,0x86,0xF4,0xDC,\r
+    0x8A,0x15,0xA7,0xEC,0x92,0xDF,0x93,0x53,\r
+    0x30,0x18,0xCA,0x34,0xBF,0xA2,0xC7,0x59,\r
+    0x67,0x8F,0xBA,0x0D,0x6D,0xD8,0x2D,0x7D,\r
+    0x54,0x0A,0x57,0x97,0x70,0x39,0xD2,0x7A,\r
+    0xEA,0x24,0x33,0x85,0xED,0x9A,0x1D,0xE0,\r
+};\r
+\r
+\r
+/*********************************************************************\r
+* main loop\r
+*********************************************************************/\r
+void a5133_main(Uint8 Flag_MASTER)\r
+{\r
+       \r
+       if(RF_Init())/* init RF */\r
+               Err_State();\r
+\r
+       if (Flag_MASTER) \r
+       {   \r
+               while(1)\r
+               {\r
+                       RF_WriteReg(GIO1_REG,0x01);/* gio1-wtr */\r
+                       RF_WriteReg(GIO2_REG,0x1D);/* gio2-trxd */\r
+                       RF_WriteReg(CKO_REG,0x02);/* cko-dck */\r
+\r
+                       RF_FIFOLength(64-1);/* fifo length 64 bytes */ \r
+                       RF_StrobeCmd(CMD_PLL);\r
+                       RF_SetCH(80);/* ch=80, freq=5805.001MHz */\r
+                       /*      To set RF channel                                                                                                                                                                                                                                                                                                                                */\r
+                       /*      RF base Freq : 5725.001MHz                                                                                                                                                                                                                                                                                       */\r
+                       /*      Channel step : 1MHz                                                                                                                                                                                                                                                                                                                      */\r
+                       /*      SetCH        : 80                                                                                                                                                                                                                                                                                                                                */\r
+                       /*      RF Frequency = RF base Freq + (Channel step * SetCH) = 5725.001MHz + ( 1MHz * 80 ) = 5805.001MHz */\r
+   \r
+                       RxCnt = 0;\r
+                       Err_Loss=0;\r
+                       Err_Frame=0;\r
+                       Err_BitCnt = 0;\r
+                       timer=0;\r
+                       // TR0=1; \r
+                       // EA=1; \r
+      \r
+                       while(1)\r
+                       {       \r
+                               RF_FIFOWrite(64);/* write data to tx fifo */\r
+                               if(RF_LVR_Check())/* check if BOD reset has occurred */\r
+                                       break;/* exit loop & re-RF init */\r
+                               else\r
+                                       RF_StrobeCmd(CMD_TX);/* transmit packet */\r
+                               \r
+                               Delay10us(1);\r
+                               while(a5133_gpio_get_gio1_value());/* wait transmit completed */\r
+                               \r
+                               if(RF_LVR_Check())/* check if BOD reset has occurred */\r
+                                       break;/* exit loop & re-RF init */\r
+                               else\r
+                                       RF_StrobeCmd(CMD_RX); \r
+                               \r
+                               timer=0;\r
+                               Flag_Timeout=0;\r
+                               while(a5133_gpio_get_gio1_value()==1 && Flag_Timeout==0);/* wait receive completed */\r
+                               if (Flag_Timeout)\r
+                               {\r
+                                       RF_StrobeCmd(CMD_PLL);/* exit rx mode */\r
+                               }\r
+                               else\r
+                               {\r
+                                       RxPacket();\r
+                                       Delay10ms(1);\r
+                               }\r
+                       }\r
+       }\r
+       }\r
+       else\r
+       { \r
+               while(1)\r
+               {\r
+                       RF_WriteReg(GIO1_REG,0x01);/* gio1-wtr */\r
+                       RF_WriteReg(GIO2_REG,0x1D);/* gio2-trxd */\r
+                       RF_WriteReg(CKO_REG,0x02);/* cko-dck */\r
+\r
+                       RF_FIFOLength(64-1);/* write data to tx fifo */ \r
+                       RF_StrobeCmd(CMD_PLL);\r
+                       RF_SetCH(80);/* ch=80, freq=5805.001MHz */\r
+                  \r
+                       RxCnt = 0;\r
+                       Err_Loss=0;\r
+                       Err_Frame=0;\r
+                       Err_BitCnt = 0;\r
+                       timer=0;\r
+                       // TR0=1;\r
+                       // EA=1;\r
+\r
+                       while(1)\r
+                       {\r
+                               if(RF_LVR_Check())/* check if BOD reset has occurred */\r
+                                       break;/* exit loop & re-RF init */\r
+                               else\r
+                                       RF_StrobeCmd(CMD_RX);\r
+            \r
+                               Delay10us(1);\r
+                               while(a5133_gpio_get_gio1_value());\r
+                               RxPacket();\r
+\r
+                               RF_FIFOWrite(64);\r
+                               if(RF_LVR_Check())/* check if BOD reset has occurred */\r
+                                       break;/* exit loop & re-RF init */\r
+                               else\r
+                                       RF_StrobeCmd(CMD_TX);\r
+                               \r
+                               Delay10us(1);\r
+                               while(a5133_gpio_get_gio1_value());   \r
+               }\r
+       }\r
+       }\r
+}\r
+\r
+/************************************************************************\r
+**  ISR_Timer0\r
+************************************************************************/\r
+void ISR_Timer0 (void) //interrupt 1\r
+{\r
+       //set next timer\r
+       \r
+       // TF0 = 0; // Clear Timer0 interrupt\r
+       // TH0 = (65536-t0hrel)>>8; // Reload Timer0 high byte,low byte\r
+       // TL0 = 65536-t0hrel;\r
+       \r
+       timer++;\r
+       if (timer == TIMEOUT)\r
+               Flag_Timeout=1;\r
+\r
+       if (timer==2)\r
+               Slot_TX=1;\r
+\r
+       TimerCnt++;\r
+       if (TimerCnt >=500)\r
+       {\r
+               TimerCnt=0;\r
+               CmdBuf[0]=0xF1;\r
+               memcpy(&CmdBuf[1], &RxCnt, 2);\r
+               memcpy(&CmdBuf[3], &Err_Loss, 2);\r
+               memcpy(&CmdBuf[5], &Err_Frame, 2);\r
+               memcpy(&CmdBuf[7], &Err_BitCnt, 4);\r
+\r
+               //输出日志\r
+               PRINT("RxCnt %d , Err_Loss %d , Err_Frame %d , Err_BitCnt %d \n",RxCnt,Err_Loss,Err_Frame,Err_BitCnt);\r
+               // UartSendCnt=12;\r
+               // Uartptr=&CmdBuf[0];\r
+               // SBUF=CmdBuf[0];\r
+       }\r
+}\r
+\r
+/************************************************************************\r
+**  Clr_timer\r
+************************************************************************/\r
+void Clr_timer(void)\r
+{\r
+       // TR0 = 0;\r
+       // TH0 = (65536-t0hrel-5)>>8; // Reload Timer0 high byte,low byte\r
+       // TL0 = 65536-t0hrel-5;\r
+       //清楚timer\r
+       timer = 2;\r
+       // TR0 = 1;\r
+}\r
+\r
+/*********************************************************************\r
+** Err_State\r
+*********************************************************************/\r
+void Err_State(void)\r
+{\r
+       //ERR display\r
+       //Error Proc...\r
+       //...\r
+       // while(1);\r
+       PRINT("Err_State\n");\r
+}\r
+   \r
+/************************************************************************\r
+**  Reset_RF\r
+************************************************************************/\r
+void RF_Reset(void)\r
+{\r
+       RF_WriteReg(MODE_REG, 0x00); //reset RF chip\r
+}\r
+\r
+/************************************************************************\r
+**  RF_WriteID\r
+************************************************************************/\r
+void RF_WriteID(Uint8* ptr)\r
+{\r
+       Uint8 i;\r
+\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(IDCODE_REG);\r
+       for (i=0; i < 8; i++)\r
+               ByteSend(*ptr++);\r
+       a5133_gpio_scs_set_value(1);\r
+}\r
+\r
+/************************************************************************\r
+**  RF_ReadID\r
+************************************************************************/\r
+void RF_ReadID(Uint8* ptr)\r
+{\r
+       Uint8 i;\r
+\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(IDCODE_REG | 0x40);\r
+       for (i=0; i<8; i++)\r
+               *ptr++ = ByteRead();\r
+       a5133_gpio_scs_set_value(1);\r
+}\r
+\r
+/*********************************************************************\r
+** RF_ReadPage\r
+*********************************************************************/\r
+Uint8 RF_ReadPage(Uint8 addr, Uint8 page)\r
+{\r
+       Uint8 tmp;\r
+\r
+       RF_WriteReg(RFANALOG_REG, (A5133_RFConfigTab_Main[0x35]&0x0F) | page<<4);\r
+       tmp = RF_ReadReg(addr);\r
+       return tmp;\r
+}\r
+\r
+/*********************************************************************\r
+** RF_WritePage\r
+*********************************************************************/\r
+void RF_WritePage(Uint8 addr, Uint8 wbyte, Uint8 page)\r
+{\r
+       RF_WriteReg(RFANALOG_REG, (A5133_RFConfigTab_Main[0x35]&0x0F) | page<<4);\r
+       RF_WriteReg(addr, wbyte);\r
+}\r
+\r
+\r
+/*********************************************************************\r
+** RF_SetCH\r
+*********************************************************************/\r
+void RF_SetCH(Uint8 ch)\r
+{\r
+       RF_WriteReg(PLL1_REG, ch); //RF freq = RFbase + (CH_Step * ch)\r
+}\r
+\r
+/*********************************************************************\r
+** initRF\r
+*********************************************************************/\r
+Uint8 RF_Init(void)\r
+{\r
+       Uint8 i,id[8];\r
+\r
+       // /* init io pin */\r
+       // SCS = 1;\r
+       // SCK = 0;\r
+       // SDIO = 1;\r
+       // // CKO = 1;\r
+       // GIO1 = 1;\r
+       // // GIO2 = 1;\r
+\r
+       RF_Reset();/* reset RF chip */\r
+       RF_WriteID(ID_Tab);/* write ID code */\r
+       RF_ReadID(id);\r
+       for (i=0; i<8; i++)\r
+       {\r
+               if (id[i] ^ ID_Tab[i])\r
+                       return 1;/* fail */\r
+       }\r
+               \r
+       RF_Config();/* config A7157 chip */\r
+       RF_TrimmedValue_Init();/* load trimming value */\r
+       if(RF_Cal())/* rf calibration */\r
+               return 1;\r
+\r
+       return 0;\r
+}\r
+\r
+/*********************************************************************\r
+** RF_FIFOWrite\r
+*********************************************************************/\r
+void RF_FIFOWrite(Uint8 len)\r
+{\r
+       Uint8 i;\r
+\r
+       RF_StrobeCmd(CMD_TFR);//TX fifo pointer reset\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(FIFO_REG);//send address 0x05, bit7 cmd=0, bit6 r/w=0\r
+       for(i=0; i <len; i++)\r
+               ByteSend(PN9_Tab[i]);\r
+       a5133_gpio_scs_set_value(1);\r
+}\r
+\r
+/*********************************************************************\r
+** RF_StrobeCmd\r
+*********************************************************************/\r
+void RF_StrobeCmd(Uint8 cmd)\r
+{\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(cmd);\r
+       a5133_gpio_scs_set_value(1);\r
+}\r
+\r
+/*********************************************************************\r
+** RxPacket\r
+*********************************************************************/\r
+void RxPacket(void)\r
+{\r
+       Uint8 i,recv,tmp,err;\r
+\r
+       RxCnt++;\r
+       err=0;\r
+\r
+       RF_StrobeCmd(CMD_RFR);//RX fifo pointer reset\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(FIFO_REG | 0x40);//address 0x05, bit7 cmd=0, bit6 r/w=1\r
+       for(i=0; i <64; i++)\r
+       {\r
+               recv = ByteRead();\r
+               tmpbuf[i]=recv;\r
+               if((recv ^ PN9_Tab[i])!=0)\r
+               {\r
+                       tmp = recv ^ PN9_Tab[i];\r
+                       Err_BitCnt += (BitCount_Tab[tmp>>4] + BitCount_Tab[tmp & 0x0F]);\r
+                       err=1;\r
+               }\r
+       }\r
+       a5133_gpio_scs_set_value(1);\r
+\r
+       if (err)//packet error\r
+               Err_Frame++;\r
+}\r
+\r
+/*********************************************************************\r
+** RF_Cal_CHGroup\r
+*********************************************************************/\r
+Uint8 RF_Cal_CHGroup(Uint8 ch)\r
+{\r
+       Uint8 tmp;\r
+       Uint8 vb,vbcf,vcb,vccf;\r
+       Uint8 deva,adev;\r
+\r
+       RF_WriteReg(PLL1_REG, ch);\r
+       RF_WriteReg(CALIBRATION_REG, 0x1C);\r
+       do{\r
+                        tmp = RF_ReadReg(CALIBRATION_REG)&0x1C;\r
+       }while (tmp);\r
+\r
+       //for check\r
+       tmp = RF_ReadReg(VCOCCAL_REG);\r
+       vcb = tmp & 0x0F;\r
+       vccf = (tmp>>4) & 0x01;\r
+\r
+       tmp = RF_ReadReg(VCOCAL1_REG);\r
+       vb = tmp & 0x0F;\r
+       vbcf = (tmp >>4) & 0x01;\r
+\r
+       tmp = RF_ReadReg(VCODEVCAL1_REG);\r
+       deva = tmp;\r
+\r
+       tmp = RF_ReadReg(VCODEVCAL2_REG);\r
+       adev = tmp;\r
+\r
+       if(vbcf)\r
+               return 1;//error   \r
+\r
+       return 0;\r
+}\r
+\r
+/*********************************************************************\r
+** calibration\r
+*********************************************************************/\r
+Uint8 RF_Cal(void)\r
+{\r
+       Uint8 tmp;\r
+       Uint8 rhc,rlc,fb,fbcf,fcd;\r
+\r
+       RF_StrobeCmd(CMD_PLL); //calibration @PLL state\r
+       RF_WriteReg(RFANALOG_REG, 0);\r
+\r
+       //IF,RSSI,RC procedure\r
+       RF_WriteReg(CALIBRATION_REG, 0x23);\r
+       do{\r
+                        tmp = RF_ReadReg(CALIBRATION_REG)&0x23;\r
+       }while(tmp);    \r
+\r
+       //calibration VBC,VDC procedure\r
+       if(RF_Cal_CHGroup(20)) //calibrate channel group Bank I\r
+               return 1;\r
+       if(RF_Cal_CHGroup(60)) //calibrate channel group Bank II\r
+               return 1;\r
+       if(RF_Cal_CHGroup(100)) //calibrate channel group Bank III\r
+               return 1;\r
+\r
+       RF_StrobeCmd(CMD_STBY); //return to STBY state\r
+\r
+       //for check\r
+       tmp = RF_ReadReg(IFCAL1_REG);\r
+       fb = tmp & 0x0F;\r
+       fbcf = (tmp>>4) & 0x01;\r
+\r
+       tmp = RF_ReadReg(IFCAL2_REG);\r
+       fcd = tmp & 0x1F;\r
+\r
+       rhc = RF_ReadReg(RXGAIN2_REG);\r
+       rlc = RF_ReadReg(RXGAIN3_REG);\r
+       Mem_RH = rhc;\r
+       Mem_RL = rlc;\r
+\r
+       if(fbcf)\r
+               return 1;//error\r
+\r
+       return 0;\r
+}\r
+\r
+/*********************************************************************\r
+** RF_Config\r
+*********************************************************************/\r
+void RF_Config(void)\r
+{\r
+       Uint8 i;\r
+\r
+       //0x00 mode register, for reset\r
+       //0x05 fifo data register\r
+       //0x06 id code register\r
+       //0x36 key data, 16 bytes\r
+       //0x3D FCB register,4 bytes\r
+       //0x3F USID register, read only\r
+\r
+  for (i=0x01; i<=0x04; i++)\r
+    RF_WriteReg(i, A5133_RFConfigTab_Main[i]);\r
+\r
+       for (i=0x07; i<=0x1F; i++)\r
+               RF_WriteReg(i, A5133_RFConfigTab_Main[i]);\r
+\r
+       for (i=0; i<=12; i++)//0x20 code1\r
+               RF_WritePage(0x20, A5133_RFConfigTab_Addr0x20[i], i);\r
+\r
+       for (i=0; i<=12; i++)//0x21 code2\r
+               RF_WritePage(0x21, A5133_RFConfigTab_Addr0x21[i], i);\r
+\r
+       for (i=0; i<=5; i++)//0x22 code3\r
+               RF_WritePage(0x22, A5133_RFConfigTab_Addr0x22[i], i);\r
+\r
+       for (i=0x23; i<=0x29; i++)\r
+               RF_WriteReg(i, A5133_RFConfigTab_Main[i]);\r
+\r
+       for (i=0; i<=12; i++)//0x2A DAS\r
+               RF_WritePage(0x2A, A5133_RFConfigTab_Addr0x2A[i], i);\r
+\r
+       for (i=0x2B; i<=0x35; i++)\r
+               RF_WriteReg(i, A5133_RFConfigTab_Main[i]);\r
+\r
+       RF_WriteReg(0x37, A5133_RFConfigTab_Main[0x37]);\r
+\r
+       for (i=0; i<=11; i++)//0x38 ROM\r
+               RF_WritePage(0x38, A5133_RFConfigTab_Addr0x38[i], i);\r
+\r
+       for (i=0x39; i<=0x3C; i++)\r
+               RF_WriteReg(i, A5133_RFConfigTab_Main[i]);\r
+\r
+       RF_WriteReg(0x3E, A5133_RFConfigTab_Main[0x3E]);\r
+}\r
+\r
+/*********************************************************************\r
+** RF_FCB\r
+*********************************************************************/\r
+void RF_FCB(void)\r
+{\r
+       Uint8 i;\r
+\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(FCB_REG);//address 0x3D, bit7 cmd=0, bit6 r/w=0\r
+       for (i=0; i < 20; i++)\r
+               ByteSend(FCB_Tab[i]);\r
+       a5133_gpio_scs_set_value(1);\r
+}\r
+\r
+/*********************************************************************\r
+** A7157_KeyData\r
+*********************************************************************/\r
+void RF_KeyData(void)\r
+{\r
+       Uint8 i;\r
+\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(KEYDATA_REG);//address 0x36, bit7 cmd=0, bit6 r/w=0\r
+       for (i=0; i < 16; i++)\r
+               ByteSend(KeyData_Tab[i]);\r
+       a5133_gpio_scs_set_value(1);\r
+}\r
+\r
+/*********************************************************************\r
+** RF_FIFOLength\r
+*********************************************************************/\r
+void RF_FIFOLength(Uint16 len)\r
+{\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(FIFO1_REG);\r
+       ByteSend(len & 0xFF);//low byte\r
+       ByteSend(len>>8);//high byte\r
+       a5133_gpio_scs_set_value(1);\r
+}\r
+\r
+/*********************************************************************\r
+** RF_TrimmedValue_Init\r
+*********************************************************************/\r
+void RF_TrimmedValue_Init(void)\r
+{\r
+       Uint8 i;\r
+       Uint8 trimValue[8];\r
+       //Uint8 tmp_checksum;\r
+\r
+       //trimValue[0]=FBG\r
+       //trimValue[1]=CTR\r
+       //trimValue[2]=BDC\r
+       //trimValue[3]=STM\r
+       //trimValue[4]=Checksum for trimvalue[0]~trimvalue[3]\r
+       //trimValue[5]=CSXTL\r
+       //trimValue[6]=FBG_CP\r
+       //trimValue[7]=Checksum for customer\r
+\r
+       RF_WritePage(ROMP_REG, A5133_RFConfigTab_Addr0x38[9] | 0xA0, 9);//enable EFSW=1, EFRE=1\r
+       \r
+       Delay1ms(5);    //wait for stability\r
+       \r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(USID_REG | 0x40);\r
+       for (i=0; i < 8; i++)\r
+               trimValue[i] = ByteRead();\r
+       a5133_gpio_scs_set_value(1);\r
+       RF_WritePage(ROMP_REG, A5133_RFConfigTab_Addr0x38[9], 9);//disable EFSW=1, EFRE=1\r
+\r
+       if((trimValue[0] + trimValue[1]) == trimValue[4]) //case1-only FT\r
+       {\r
+               if((trimValue[0]!=0) && (trimValue[1]!=0))\r
+               {\r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[1] & 0xE0) | trimValue[0], 1);//FBG\r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[2] & 0xC0) | trimValue[1], 2);//CTR          \r
+               }\r
+               else\r
+                       Err_State();\r
+   }\r
+       else if((trimValue[0] + trimValue[1] + trimValue[2] + trimValue[3]) == trimValue[4]) //case2-CP+FT\r
+       {\r
+               if((trimValue[0]!=0) && (trimValue[1]!=0) && (trimValue[2]!=0) && (trimValue[3]!=0)) \r
+               {\r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[1] & 0xE0) | trimValue[0], 1);//FBG\r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[2] & 0xC0) | trimValue[1], 2);//CTR      \r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[0] & 0x03) | (trimValue[2]<<2), 0);//BDC\r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[4] & 0x40) | trimValue[3], 4);//STM\r
+               }\r
+               else\r
+                       Err_State();\r
+       }\r
+       else //only CP\r
+       {\r
+               if((trimValue[0]==0) && (trimValue[1]!=0) && (trimValue[2]!=0) && (trimValue[3]!=0) && (trimValue[4]==0) && (trimValue[6]!=0)) \r
+               {\r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[1] & 0xE0) | trimValue[6], 1);//FBG\r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[2] & 0xC0) | trimValue[1], 2);//CTR      \r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[0] & 0x03) | (trimValue[2]<<2), 0);//BDC\r
+                       RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[4] & 0x40) | trimValue[3], 4);//STM\r
+               }\r
+               else\r
+                       Err_State();     \r
+       }\r
+}\r
+  \r
+/*********************************************************************\r
+** RF_RSSI_Read\r
+*********************************************************************/\r
+Sint16 RF_RSSI_Read(void)\r
+{\r
+       Uint8 rssi;\r
+       Sint16 tmp;\r
+\r
+       rssi= RF_ReadReg(RSSI_REG);     //read RSSI value(wanted signal RSSI)\r
+\r
+       //RF power in(dBm) = (RSSI - RL) / (RH - RL)  * 12  -  80dbm - 3\r
+       tmp = ((rssi*1.0 - Mem_RL) / (Mem_RH - Mem_RL) * 12.0) - 80 - 3; \r
+       return tmp;\r
+}\r
+\r
+/*********************************************************************\r
+** RF_PM_SleepMode\r
+*********************************************************************/\r
+void RF_PM_SleepMode(void)\r
+{\r
+       RF_StrobeCmd(CMD_SLEEP);\r
+       a5133_gpio_sck_set_value(1);\r
+       a5133_gpio_sdio_set_value(1);\r
+}\r
+\r
+/*********************************************************************\r
+** RF_Low Voltage Reset_Check\r
+*********************************************************************/\r
+Uint8 RF_LVR_Check(void)\r
+{\r
+       Uint8 tmp;\r
+\r
+       tmp = RF_ReadReg(VCOCAL2_REG);\r
+       if(tmp == 0xFF)//default reset value 0xFF\r
+               return 1;\r
+       else\r
+               return 0;\r
+}\r
+\r
+/*********************************************************************\r
+** RF_WOR_En\r
+*********************************************************************/\r
+void RF_WOR_En(void)\r
+{\r
+       RF_WriteReg(GIO1_REG, 0x01);//WTR\r
+       RF_WriteReg(GIO2_REG, 0x11);//MCU wakeup signal\r
+       RF_WriteReg(CKO_REG, 0x02);   \r
+\r
+       RF_WriteReg(RCOSC1_REG, 0x0B);//WOR_SL=11, SL time=(11+1)*32*(1/4KHz)\r
+       RF_WriteReg(RCOSC2_REG, 0x0B);//WOR_AC=11, AC time(wakeup time + RX time)=(11+1)*(1/4KHz)\r
+       RF_WriteReg(RCOSC3_REG, 0x0C);//RCOSC enable\r
+\r
+       while(1)\r
+       { \r
+               RF_WriteReg(MODECTRL_REG, A5133_RFConfigTab_Main[1] | (1<<3));  //WOR enable\r
+               // while(~GIO2);//waitting to wakeup until packet is received \r
+               \r
+               RF_StrobeCmd(CMD_PLL);\r
+               //Wakeup process...\r
+               //RxPacket();\r
+               //...;\r
+       }\r
+}\r
+\r
+/*********************************************************************\r
+** RF_AdvFIFO_Init\r
+*********************************************************************/\r
+void RF_AdvFIFO_Init(void)\r
+{\r
+       RF_WriteReg(FCR_REG, 0x0F);/* EARTS=1, EACKS=1, ARC=3, FCL=0 */\r
+       RF_WriteReg(ARD_REG, 0x02);/* ARD=2, ARD=600us */       \r
+       RF_WriteReg(AFEP_REG, 0x40);/* spss=1 */\r
+       RF_WriteReg(KEYC_REG, 0x20);/* ARTMS=1, fixed interval */\r
+       RF_WriteReg(USID_REG, 0x00);/* Random seed=0, fixed interval=200us */\r
+}\r
+\r
+/*********************************************************************\r
+** Is_Vpoak\r
+*********************************************************************/\r
+Uint8 Is_Vpoak(void)\r
+{\r
+       Uint8 tmp;\r
+       \r
+       tmp = (RF_ReadReg(FCR_REG) >>6) & 0x01;/* read vpoak bit */\r
+       return tmp;\r
+}\r
+\r
+/*********************************************************************\r
+** main_prog_ACK\r
+*********************************************************************/\r
+void main_prog_ACK(Uint8 Flag_MASTER)\r
+{\r
+       /* A sample code for auto-resend & auto-ack function */\r
+\r
+       RF_AdvFIFO_Init();/* init advance fifo with auto-resend & auto-ack */\r
+       \r
+       if (Flag_MASTER) \r
+       {  \r
+               while(1)\r
+               {\r
+                       RF_WriteReg(GIO1_REG,0x01);/* gio1-wtr */\r
+                       RF_WriteReg(GIO2_REG,0x1D);/* gio2-trxd */\r
+                       RF_WriteReg(CKO_REG,0x02);/* cko-dck */\r
+                       \r
+                       RF_FIFOLength(64-1);/* fifo length 64 bytes */ \r
+                       RF_StrobeCmd(CMD_PLL);\r
+                       RF_SetCH(80);/* ch=80, freq=5805.001MHz */\r
+                       /*      To set RF channel                                                                                                                                                                                                                                                                                                                                */\r
+                       /*      RF base Freq : 5725.001MHz                                                                                                                                                                                                                                                                                       */\r
+                       /*      Channel step : 1MHz                                                                                                                                                                                                                                                                                                                      */\r
+                       /*      SetCH        : 80                                                                                                                                                                                                                                                                                                                                */\r
+                       /*      RF Frequency = RF base Freq + (Channel step * SetCH) = 5725.001MHz + ( 1MHz * 80 ) = 5805.001MHz */\r
+   \r
+                       RxCnt = 0;\r
+                       Err_Loss=0;\r
+                       Err_Frame=0;\r
+                       Err_BitCnt = 0;\r
+                       timer=0;\r
+                       // TR0=1;\r
+                       // EA=1; \r
+               \r
+                       while(1)\r
+                       {       \r
+                               RF_FIFOWrite(64); /* write data to tx fifo */\r
+                               if(RF_LVR_Check())/* check if BOD reset has occurred */\r
+                                       break;/* exit loop & re-RF init */\r
+                               else\r
+                                       RF_StrobeCmd(CMD_TX);/* transmit packet */\r
+                               \r
+                               Delay10us(1);\r
+                               while(a5133_gpio_get_gio1_value());\r
+\r
+                               /* check vpoak */\r
+                               if(Is_Vpoak())\r
+                                       // P3 = P3 ^ 0x04;/* transmit completed, toggle I/O */\r
+                                       PRINT("transmit complete!\n");\r
+                               else\r
+                                       nop();/* resend fail */\r
+                                               \r
+                               Delay10ms(5);\r
+                       }\r
+       }\r
+       }\r
+       else\r
+       { \r
+               while(1)\r
+               {\r
+                       RF_WriteReg(GIO1_REG,0x01);/* gio1-wtr */\r
+                       RF_WriteReg(GIO2_REG,0x1D);/* gio2-trxd */\r
+                       RF_WriteReg(CKO_REG,0x02);/* cko-dck */\r
+\r
+                       RF_FIFOLength(64-1);/* fifo length 64 bytes */ \r
+                       RF_StrobeCmd(CMD_PLL);\r
+                       RF_SetCH(80);/* ch=80, freq=5805.001MHz */\r
+                  \r
+                       RxCnt = 0;\r
+                       Err_Loss=0;\r
+                       Err_Frame=0;\r
+                       Err_BitCnt = 0;\r
+                       timer=0;\r
+                       // TR0=1;\r
+                       // EA=1;\r
+\r
+                       while(1)\r
+                       {\r
+                               if(RF_LVR_Check())/* check if BOD reset has occurred */\r
+                                       break;/* exit loop & re-RF init */\r
+                               else\r
+                                       RF_StrobeCmd(CMD_RX);\r
+            \r
+                               Delay10us(1);\r
+                               while(a5133_gpio_get_gio1_value());\r
+                               \r
+                               /* check vpoak */\r
+                               if(Is_Vpoak())\r
+                               {\r
+                                       // P3 = P3 ^ 0x04;/* valid packet, toggle I/O */\r
+                                       PRINT("valid packet !\n");\r
+                                       RxPacket();\r
+                               }\r
+                               else\r
+                                       nop();/* invalid packet */\r
+\r
+                               Delay10ms(4);\r
+               }\r
+       }\r
+       }\r
+}\r
+\r
+/*********************************************************************\r
+** RF_TXPower\r
+*********************************************************************/\r
+void RF_TXPower(Uint8 tbf, Uint8 tpa)\r
+{\r
+       /*\r
+        * Users can get different TX power by setting TBF(in register 0x2D), TPA(in register 0x2D, page 8) under fixed conditions,\r
+        *      a)Fixed bit TXLPN=1(in register 0x22, page1)\r
+        *  b)Fixed bit PGV_PA=2.5V(in register 0x21, page9)\r
+        * For tbf,tpa setting, please refer to chapter "3.Tx Power Control Setting" in Application Note_AN_A5133_HW pdf\r
+        */\r
+       \r
+       Uint8 tmp;\r
+       \r
+       tmp = A5133_RFConfigTab_Main[TXTEST_REG] & 0xF8;\r
+       tmp = tmp | (tbf & 0x07);\r
+       RF_WriteReg(TXTEST_REG, tmp);//set TBF\r
+       \r
+       tmp = A5133_RFConfigTab_Addr0x21[8] & 0x8F;\r
+       tmp = tmp | (tpa & 0x07)<<4;\r
+       RF_WritePage(CODE2_REG, tmp, 8);//set TPA\r
+}\r
diff --git a/code/sdk/drivers/peripheral/a5133/A5133Uti.c b/code/sdk/drivers/peripheral/a5133/A5133Uti.c
new file mode 100644 (file)
index 0000000..7976ace
--- /dev/null
@@ -0,0 +1,296 @@
+/********************************************************************                                                                  **\r
+*   Uti.h\r
+*   Function Definitions\r
+*\r
+********************************************************************/\r
+\r
+#include "gpio.h"\r
+#include "pinctrl_porting.h"\r
+#include "chip_io.h"\r
+#include "debug_print.h"\r
+#include "pinctrl.h"\r
+\r
+#include "A5133define.h"\r
+#include "A5133Uti.h"\r
+\r
+static void nop(void){}\r
+\r
+/**********************************************************\r
+* Delay1ms\r
+**********************************************************/\r
+void Delay1ms(Uint8 n)\r
+{\r
+       LOS_Mdelay(n);\r
+}\r
+\r
+/**********************************************************\r
+* Delay10ms\r
+**********************************************************/\r
+void Delay10ms(Uint8 n)\r
+{\r
+       LOS_Mdelay(n*10);\r
+}\r
+\r
+/**********************************************************\r
+* Delay100us\r
+**********************************************************/\r
+void Delay100us(Uint8 n)\r
+{\r
+       LOS_Udelay(n*100);\r
+}\r
+\r
+/**********************************************************\r
+* Delay10us\r
+**********************************************************/\r
+void Delay10us(Uint8 n)\r
+{\r
+       LOS_Udelay(n*10);\r
+}\r
+\r
+\r
+/**direction 1 out , 0 in*/\r
+errcode_t a5133_gpio_set_direction(pin_t pin, int direction)\r
+{\r
+       errcode_t ret = ERRCODE_SUCC;\r
+\r
+       if (direction)\r
+       {\r
+               ret = uapi_gpio_set_dir(pin, GPIO_DIRECTION_OUTPUT);\r
+               if (ret != ERRCODE_SUCC) {\r
+                       return ERRCODE_FAIL;\r
+               }\r
+       }else{\r
+               ret = uapi_gpio_set_dir(pin, GPIO_DIRECTION_INPUT);\r
+               if (ret != ERRCODE_SUCC) {\r
+                       return ERRCODE_FAIL;\r
+               }\r
+       }\r
+\r
+       return ret;\r
+}\r
+\r
+\r
+errcode_t a5133_gpio_set_value(pin_t pin,uint8_t value)\r
+{\r
+       errcode_t ret = ERRCODE_SUCC;\r
+       if (value == 1) {\r
+        ret = uapi_gpio_set_val(pin, GPIO_LEVEL_HIGH);\r
+    } else if (value == 0) {\r
+        ret = uapi_gpio_set_val(pin, GPIO_LEVEL_LOW);\r
+    } else {\r
+        return ERRCODE_FAIL;\r
+    }\r
+       return ret;\r
+}\r
+\r
+uint8_t a5133_gpio_get_value(pin_t pin)\r
+{\r
+       gpio_level_t gpio_level;\r
+    gpio_level = uapi_gpio_get_val(pin);\r
+    if (gpio_level == GPIO_LEVEL_HIGH) {\r
+        // PRINT("read level is %d\r\n", GPIO_LEVEL_HIGH);\r
+    } else {\r
+        // PRINT("read level is %d\r\n", GPIO_LEVEL_LOW);\r
+    }\r
+       return gpio_level;\r
+}\r
+\r
+#define SCS_OUT        S_MGPIO9  //spi SCS\r
+#define SCK_OUT        S_MGPIO8  //spi SCK\r
+#define SDIO_IN_OUT S_MGPIO7  //spi SDIO\r
+#define GIO1_IN        S_MGPIO6  //GPIO1\r
+\r
+uint8_t a5133_gpio_get_gio1_value(void)\r
+{\r
+       return a5133_gpio_get_value(GIO1_IN);\r
+}\r
+\r
+errcode_t a5133_gpio_scs_set_value(uint8_t value)\r
+{\r
+       if(value)\r
+               return a5133_gpio_set_value(SCS_OUT,1);\r
+       else\r
+               return a5133_gpio_set_value(SCS_OUT,0);\r
+}\r
+\r
+errcode_t a5133_gpio_sdio_set_value(uint8_t value)\r
+{\r
+       if(value)\r
+               return a5133_gpio_set_value(SDIO_IN_OUT,1);\r
+       else\r
+               return a5133_gpio_set_value(SDIO_IN_OUT,0);\r
+}\r
+errcode_t a5133_gpio_sck_set_value(uint8_t value)\r
+{\r
+       if(value)\r
+               return a5133_gpio_set_value(SCK_OUT,1);\r
+       else\r
+               return a5133_gpio_set_value(SCK_OUT,0);\r
+}\r
+errcode_t a5133_gpio_init(void)\r
+{\r
+\r
+       errcode_t ret = ERRCODE_SUCC;\r
+       \r
+    ret = uapi_pin_set_mode(SCS_OUT, HAL_PIO_FUNC_GPIO);\r
+    if (ret != ERRCODE_SUCC) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+\r
+    ret = uapi_pin_set_mode(SCK_OUT, HAL_PIO_FUNC_GPIO);\r
+    if (ret != ERRCODE_SUCC) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+\r
+       ret = uapi_pin_set_mode(SDIO_IN_OUT, HAL_PIO_FUNC_GPIO);\r
+    if (ret != ERRCODE_SUCC) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+\r
+       ret = uapi_pin_set_mode(GIO1_IN, HAL_PIO_FUNC_GPIO);\r
+    if (ret != ERRCODE_SUCC) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+\r
+       ret = a5133_gpio_set_direction(SCS_OUT,1);\r
+       if (ret != ERRCODE_SUCC) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+\r
+\r
+       ret = a5133_gpio_set_direction(SCK_OUT,1);\r
+       if (ret != ERRCODE_SUCC) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+       ret = a5133_gpio_set_direction(SDIO_IN_OUT,1);\r
+       if (ret != ERRCODE_SUCC) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+       ret = a5133_gpio_set_direction(GIO1_IN,0);\r
+       if (ret != ERRCODE_SUCC) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+       return ret;\r
+}\r
+\r
+\r
+// int test_gpio_toggle(pin_t pin, int level)\r
+// {\r
+        \r
+//     errcode_t ret = ERRCODE_SUCC;\r
+\r
+//     PRINT("[Params] PIN:%d, levle: %d. \r\n", pin, (uint32_t)level);\r
+//     ret = uapi_pin_set_mode(pin, HAL_PIO_FUNC_GPIO);\r
+//     if (ret != ERRCODE_SUCC) {\r
+//         return ERRCODE_FAIL;\r
+//     }\r
+\r
+//     ret = uapi_gpio_set_dir(pin, GPIO_DIRECTION_OUTPUT);\r
+//     if (ret != ERRCODE_SUCC) {\r
+//         return ERRCODE_FAIL;\r
+//     }\r
+\r
+//     if (level == 1) {\r
+//         uapi_gpio_set_val(pin, GPIO_LEVEL_HIGH);\r
+//     } else if (level == 0) {\r
+//         uapi_gpio_set_val(pin, GPIO_LEVEL_LOW);\r
+//     } else {\r
+//         return ERRCODE_FAIL;\r
+//     }\r
+\r
+//     ret = uapi_gpio_toggle(pin);\r
+//     if (ret != ERRCODE_SUCC) {\r
+//         return ERRCODE_FAIL;\r
+//     }\r
+\r
+//     gpio_level_t gpio_level;\r
+//     gpio_level = uapi_gpio_get_val(pin);\r
+//     if (gpio_level != (gpio_level_t)level) {\r
+//         PRINT("gpio toggle success\r\n");\r
+//         PRINT("read level is %d\r\n", gpio_level);\r
+//     } else {\r
+//         PRINT("gpio toggle failed\r\n");\r
+//         PRINT("read level is %d\r\n", gpio_level);\r
+//         return ERRCODE_FAIL;\r
+//     }\r
+\r
+//     return ERRCODE_SUCC;\r
+// }\r
+\r
+\r
+\r
+/************************************************************************\r
+**  RF_WriteReg\r
+************************************************************************/\r
+void RF_WriteReg(Uint8 addr, Uint8 dataByte)\r
+{\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(addr);//bit7 cmd=0, bit6 r/w=0\r
+       ByteSend(dataByte);\r
+       a5133_gpio_scs_set_value(1);\r
+}\r
+\r
+/************************************************************************\r
+**  RF_ReadReg\r
+************************************************************************/\r
+Uint8 RF_ReadReg(Uint8 addr)\r
+{\r
+       Uint8 tmp;\r
+\r
+       a5133_gpio_scs_set_value(0);\r
+       ByteSend(addr | 0x40);//bit7 cmd=0,bit6 r/w=1\r
+       tmp = ByteRead();\r
+       a5133_gpio_scs_set_value(1);\r
+\r
+       return tmp;\r
+}\r
+\r
+/************************************************************************\r
+**  ByteSend\r
+************************************************************************/\r
+void ByteSend(Uint8 src)\r
+{\r
+       Uint8 i;\r
+\r
+       for(i = 0; i < 8; i++)\r
+       {\r
+               if(src & 0x80)\r
+                        a5133_gpio_set_value(SDIO_IN_OUT,1);\r
+               else\r
+                        a5133_gpio_set_value(SDIO_IN_OUT,0);                    \r
+\r
+               nop();\r
+               a5133_gpio_set_value(SCK_OUT,1);\r
+               nop();\r
+               a5133_gpio_set_value(SCK_OUT,0);\r
+               src = src << 1;\r
+       }\r
+}\r
+\r
+/************************************************************************\r
+**  ByteRead\r
+************************************************************************/\r
+Uint8 ByteRead(void)\r
+{\r
+       Uint8 i,tmp;\r
+\r
+       //sdio pull high\r
+       a5133_gpio_sdio_set_value(1);                    \r
+       // P0OE = P0OE & (~0x02);\r
+\r
+       a5133_gpio_set_direction(SDIO_IN_OUT,0);\r
+       for(i = 0; i < 8; i++)\r
+       {\r
+               if(a5133_gpio_get_value(SDIO_IN_OUT))\r
+                        tmp = (tmp << 1) | 0x01;\r
+               else\r
+                        tmp = tmp << 1;\r
+\r
+               a5133_gpio_sck_set_value(1);                     \r
+               nop();\r
+               a5133_gpio_sck_set_value(0);                     \r
+       }\r
+       a5133_gpio_set_direction(SDIO_IN_OUT,1);\r
+       // P0OE = P0OE | (0x02);\r
+       return tmp;\r
+}
\ No newline at end of file
diff --git a/code/sdk/drivers/peripheral/a5133/A5133Uti.h b/code/sdk/drivers/peripheral/a5133/A5133Uti.h
new file mode 100644 (file)
index 0000000..eeec5be
--- /dev/null
@@ -0,0 +1,29 @@
+/********************************************************************\r
+*   UTI.h\r
+*   Function Definitions\r
+*\r
+********************************************************************/\r
+#ifndef _A5133_UTI_H_\r
+#define _A5133_UTI_H_\r
+\r
+/********************************************************************\r
+** function declaration\r
+********************************************************************/\r
+#include "errcode.h"\r
+#include "platform_core.h"\r
+void Delay10us(Uint8);\r
+void Delay100us(Uint8);\r
+void Delay1ms(Uint8);\r
+void Delay10ms(Uint8);\r
+errcode_t a5133_gpio_init(void);\r
+uint8_t a5133_gpio_get_value(pin_t pin);\r
+errcode_t a5133_gpio_set_value(pin_t pin,uint8_t value);\r
+errcode_t a5133_gpio_set_direction(pin_t pin, int direction);\r
+errcode_t a5133_gpio_scs_set_value(uint8_t value);\r
+errcode_t a5133_gpio_sdio_set_value(uint8_t value);\r
+errcode_t a5133_gpio_sck_set_value(uint8_t value);\r
+uint8_t a5133_gpio_get_gio1_value(void);\r
+void ByteSend(Uint8 src);\r
+Uint8 ByteRead(void);\r
+\r
+#endif\r
diff --git a/code/sdk/drivers/peripheral/a5133/A5133define.h b/code/sdk/drivers/peripheral/a5133/A5133define.h
new file mode 100644 (file)
index 0000000..7df6f53
--- /dev/null
@@ -0,0 +1,48 @@
+/*****************************************************************************\r
+**                                                                          **\r
+**                         AMIC Proprietary Document                        **\r
+**               Copyright (c) 2004-2008 AMIC Technology Inc.               **\r
+**                                                                          **\r
+**            No.2, Li-Hsin 6th Road, Science_Based Industrid Park,         **\r
+**                       Hsin_Chu City, 300, Taiwan, ROC.                   **\r
+**                 Tel: 886-3-5679966   Fax: 886-3-5679977                  **\r
+**              E-mail:info@amic.com.tw  http: //www.amic.com.tw            **\r
+**                                                                          **\r
+*****************************************************************************/\r
+#ifndef _A5133_DEFINE_H_\r
+#define _A5133_DEFINE_H_\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+// #include <intrins.h>\r
+#include <stdint.h>\r
+#define data\r
+\r
+#define Sint8  signed   char\r
+#define Sint16 signed   int\r
+#define Uint8  unsigned char\r
+#define Uint16 unsigned int\r
+#define Uint32 unsigned long\r
+\r
+#define NO            0\r
+#define YES           1\r
+\r
+#define LOW                      0\r
+#define HIGH          1\r
+\r
+#ifndef ON\r
+#define ON            1\r
+#define OFF           0\r
+#endif\r
+\r
+\r
+#define ENABLE        1\r
+#define DISABLE       0\r
+\r
+#define MASTER           1\r
+#define SLAVE            0\r
+\r
+#define ONEWAY           0\r
+#define TWOWAY           1\r
+\r
+#endif
\ No newline at end of file
diff --git a/code/sdk/drivers/peripheral/a5133/A5133main.h b/code/sdk/drivers/peripheral/a5133/A5133main.h
new file mode 100644 (file)
index 0000000..f551113
--- /dev/null
@@ -0,0 +1,67 @@
+#ifndef _A5133_MAIN_H_\r
+#define _A5133_MAIN_H_\r
+\r
+#include <stdio.h>\r
+#include "A5133define.h"\r
+\r
+/*********************************************************************\r
+**  I/O Declaration\r
+*********************************************************************/\r
+// #define SCS       //P0_3            //spi SCS\r
+// #define SCK         //P0_0          //spi SCK\r
+// #define SDIO      //P0_1            //spi SDIO\r
+// #define CKO       //P1_3            //CKO\r
+// #define GIO1      //P0_2            //GPIO1\r
+// #define GIO2        //P1_2          //GPIO2\r
+// #define Button    //P3_2            //test Button\r
+\r
+/*********************************************************************\r
+**  Constant Declaration\r
+*********************************************************************/\r
+#define TIMEOUT           50\r
+#define t0hrel            1333//1000\r
+#define BaudRate38400   (65536-((16000000)/(32*38400))) \r
+\r
+\r
+\r
+\r
+/*********************************************************************\r
+**  function Declaration\r
+*********************************************************************/\r
+\r
+void ISR_Timer0 (void);\r
+void Clr_timer(void);\r
+\r
+void Err_State(void);\r
+void RF_Reset(void);\r
+void RF_WriteID(Uint8* ptr);\r
+void RF_ReadID(Uint8* ptr);\r
+Uint8 RF_ReadPage(Uint8 addr, Uint8 page);\r
+void RF_WritePage(Uint8 addr, Uint8 wbyte, Uint8 page);\r
+void RF_WriteReg(Uint8, Uint8);\r
+Uint8 RF_ReadReg(Uint8);\r
+void ByteSend(Uint8 src);\r
+Uint8 ByteRead(void);\r
+void RF_SetCH(Uint8);\r
+Uint8 RF_Init(void);\r
+void RF_FIFOWrite(Uint8);\r
+void RF_StrobeCmd(Uint8);\r
+void RxPacket(void);\r
+Uint8 RF_Cal_CHGroup(Uint8 ch);\r
+Uint8 RF_Cal(void);\r
+void RF_Config(void);\r
+void RF_FCB(void);\r
+void RF_KeyData(void);\r
+void RF_FIFOLength(Uint16 len);\r
+void RF_TrimmedValue_Init(void);\r
+Sint16 RF_RSSI_Read(void);\r
+void RF_PM_SleepMode(void);\r
+Uint8 RF_LVR_Check(void);\r
+void RF_WOR_En(void);\r
+void RF_AdvFIFO_Init(void);\r
+Uint8 Is_Vpoak(void);\r
+void main_prog_ACK(Uint8 Flag_MASTER);\r
+void RF_TXPower(Uint8 tbf, Uint8 tpa);\r
+void a5133_main(Uint8 Flag_MASTER);\r
+\r
+#endif
\ No newline at end of file
diff --git a/code/sdk/drivers/peripheral/a5133/A5133reg.h b/code/sdk/drivers/peripheral/a5133/A5133reg.h
new file mode 100644 (file)
index 0000000..7470f87
--- /dev/null
@@ -0,0 +1,89 @@
+/********************************************************************\r
+*   A5133REG.h\r
+*   RF Chip-A5133 Hardware Definitions\r
+*\r
+*   This file provides the constants associated with the\r
+*   AMICCOM A5133 device.\r
+*\r
+********************************************************************/\r
+#ifndef _A5133REG_h_\r
+#define _A5133REG_h_\r
+\r
+#define MODE_REG                               0x00\r
+#define MODECTRL_REG           0x01\r
+#define CALIBRATION_REG        0x02\r
+#define FIFO1_REG                      0x03\r
+#define FIFO2_REG                      0x04\r
+#define FIFO_REG                               0x05\r
+#define IDCODE_REG                     0x06\r
+#define RCOSC1_REG                     0x07\r
+#define RCOSC2_REG                     0x08\r
+#define RCOSC3_REG                     0x09\r
+#define CKO_REG                                0x0A\r
+#define GIO1_REG                               0x0B\r
+#define GIO2_REG                               0x0C\r
+#define DATARATE_REG           0x0D\r
+#define PLL1_REG                               0x0E\r
+#define PLL2_REG                               0x0F\r
+#define PLL3_REG                               0x10\r
+#define PLL4_REG                               0x11\r
+#define PLL5_REG                               0x12\r
+#define CHGROUP1_REG           0x13\r
+#define CHGROUP2_REG           0x14\r
+#define TX1_REG                                0x15\r
+#define TX2_REG                                0x16\r
+#define DELAY1_REG                     0x17\r
+#define DELAY2_REG                     0x18\r
+#define RX_REG                                 0x19\r
+#define RXGAIN1_REG                    0x1A\r
+#define RXGAIN2_REG                    0x1B\r
+#define RXGAIN3_REG                    0x1C\r
+#define RXGAIN4_REG                    0x1D\r
+#define RSSI_REG                               0x1E\r
+#define ADC_REG                                0x1F\r
+#define CODE1_REG                      0x20\r
+#define CODE2_REG                      0x21\r
+#define CODE3_REG                      0x22\r
+#define IFCAL1_REG             0x23\r
+#define IFCAL2_REG             0x24\r
+#define VCOCCAL_REG            0x25\r
+#define VCOCAL1_REG            0x26\r
+#define VCOCAL2_REG            0x27\r
+#define VCODEVCAL1_REG  0x28\r
+#define VCODEVCAL2_REG  0x29\r
+#define DASP_REG                               0x2A\r
+#define VCOMODDELAY_REG        0x2B\r
+#define BATTERY_REG            0x2C\r
+#define TXTEST_REG             0x2D\r
+#define RXDEM1_REG             0x2E\r
+#define RXDEM2_REG             0x2F\r
+#define CPC1_REG                               0x30\r
+#define CPC2_REG                               0x31\r
+#define CRYSTALTEST_REG        0x32\r
+#define PLLTEST_REG    0x33\r
+#define VCOTEST_REG            0x34\r
+#define RFANALOG_REG           0x35\r
+#define KEYDATA_REG            0x36\r
+#define CHSELECT_REG           0x37\r
+#define ROMP_REG                               0x38\r
+#define DATARATECLOCK          0x39\r
+#define FCR_REG                                0x3A\r
+#define ARD_REG                                0x3B\r
+#define AFEP_REG                               0x3C\r
+#define FCB_REG                                0x3D\r
+#define KEYC_REG                               0x3E\r
+#define USID_REG                               0x3F\r
+\r
+//strobe command\r
+#define CMD_SLEEP                    0x80      //1000,xxxx     SLEEP mode\r
+#define CMD_IDLE                     0x90      //1001,xxxx     IDLE mode\r
+#define CMD_STBY                     0xA0      //1010,xxxx Standby mode\r
+#define CMD_PLL                                        0xB0    //1011,xxxx     PLL mode\r
+#define CMD_RX                       0xC0      //1100,xxxx     RX mode\r
+#define CMD_TX                       0xD0      //1101,xxxx     TX mode\r
+#define CMD_TFR                                        0xE0    //1110,xxxx     TX FIFO reset\r
+#define CMD_RFR                                        0xF0    //1111,xxxx     RX FIFO reset\r
+#define CMD_DPSLEEP_TRI                0x88    //1000,1000     deep sleep tri mode\r
+#define CMD_DPSLEEP_PULL  0x8B //1000,1011 deep sleep Pull high mode\r
+\r
+#endif
\ No newline at end of file
diff --git a/code/sdk/drivers/peripheral/a5133/CMakeLists.txt b/code/sdk/drivers/peripheral/a5133/CMakeLists.txt
new file mode 100644 (file)
index 0000000..03d1f02
--- /dev/null
@@ -0,0 +1,43 @@
+#===============================================================================
+# @brief    cmake file
+# Copyright (c) @CompanyNameMagicTag 2023-2023. All rights reserved.
+#===============================================================================
+add_subdirectory_if_exist(service)
+set(COMPONENT_NAME "driver_a5133")
+
+
+set(SOURCES ${SOURCES}
+    ${CMAKE_CURRENT_SOURCE_DIR}/A5133Main.c
+    ${CMAKE_CURRENT_SOURCE_DIR}/A5133Uti.c
+)
+set(PUBLIC_HEADER
+    ${CMAKE_CURRENT_SOURCE_DIR}
+)
+set(PUBLIC_DEFINES
+)
+set(PRIVATE_HEADER
+    # ${CMAKE_CURRENT_SOURCE_DIR}
+)
+set(PRIVATE_DEFINES
+)
+# use this when you want to add ccflags like -include xxx
+set(COMPONENT_PUBLIC_CCFLAGS
+)
+
+
+set(COMPONENT_CCFLAGS
+    -Wno-incompatible-function-pointer-types
+    -Wno-unused-function
+)
+
+set(WHOLE_LINK
+    true
+)
+
+set(MAIN_COMPONENT
+    false
+)
+
+build_component()
+
+install_sdk(${CMAKE_CURRENT_SOURCE_DIR} "*")
diff --git a/code/sdk/drivers/peripheral/a5133/service/CMakeLists.txt b/code/sdk/drivers/peripheral/a5133/service/CMakeLists.txt
new file mode 100644 (file)
index 0000000..fbadb6d
--- /dev/null
@@ -0,0 +1,55 @@
+#===============================================================================
+# @brief    cmake file
+# Copyright (c) @CompanyNameMagicTag 2022-2022. All rights reserved.
+#===============================================================================
+
+set(COMPONENT_NAME "a5133_service")
+
+set(PUBLIC_HEADER
+)
+set(PRIVATE_HEADER
+    ${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/innerkits
+    ${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/kits
+    ${ROOT_DIR}/application/wearable/nativeapp/nativeui/heartrate/include
+)
+
+set(SOURCES
+# ${CMAKE_CURRENT_SOURCE_DIR}/a5133_at_cmd.cpp
+${CMAKE_CURRENT_SOURCE_DIR}/a5133_service.cpp
+)
+
+set(COMPONENT_PUBLIC_CCFLAGS
+)
+
+set(COMPONENT_CCFLAGS
+    -std=c++11
+    -Wno-error
+    -Wno-unused-parameter
+    -fno-exceptions
+    -fno-unwind-tables
+    -fno-asynchronous-unwind-tables
+    -Wno-undef
+    -Wno-bitwise-op-parentheses
+    -Wno-shift-op-parentheses
+    -nostdlibinc
+    -nostdinc
+    -nostdlib
+    -Wno-c++11-narrowing
+    -Wno-error=unused-function
+)
+
+set(WHOLE_LINK
+    true
+)
+
+set(MAIN_COMPONENT
+    false
+)
+
+set(PUBLIC_DEFINES
+)
+
+set(PRIVATE_DEFINES
+)
+
+build_component()
diff --git a/code/sdk/drivers/peripheral/a5133/service/a5133_service.cpp b/code/sdk/drivers/peripheral/a5133/service/a5133_service.cpp
new file mode 100644 (file)
index 0000000..0c0aa9f
--- /dev/null
@@ -0,0 +1,178 @@
+/**
+ * Copyright (c) @CompanyNameMagicTag 2022-2022. All rights reserved. \n
+ *
+ * Description: Test  source \n
+ * Author: @CompanyNameTag \n
+ * History: \n
+ * 2022-08-16, Create file. \n
+ */
+
+#include "wearable_log.h"
+#include "securec.h"
+#include "broadcast_service.h"
+#include "broadcast_feature.h"
+#include "service_id_define.h"
+#include "samgr_lite.h"
+#include "thread_adapter.h"
+#include "graphic_service.h"
+
+#ifdef __cplusplus
+#if __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+#endif /* __cplusplus */
+
+#include "pinctrl.h"
+#include "debug_print.h"
+#include "soc_osal.h"
+#include "tcxo.h"
+#include "irmalloc.h"
+#include "errcode.h"
+#include "common_def.h"
+
+#include "chip_core_irq.h"
+#include "chip_io.h"
+#include "gpio.h"
+#include "pm_veto.h"
+
+#include "rtc.h"
+#include "timer.h"
+#include "systick.h"
+#include "cmsis_os2.h"
+#include "los_printf.h"
+#include "custom_utils.h"
+#include "a5133_service.h"
+#include "A5133define.h"
+#include "A5133main.h"
+#include "A5133Uti.h"
+static bool g_a5133_service_initialled = false;
+
+/***
+ * 其他cmd在Header里定义,对外开放
+*/
+
+
+#define A5133_SERVICE_MSG_COUNT       16
+#define A5133_SERVICE_TASK_SIZE       0x1000
+
+static unsigned long g_app_queue;
+
+static bool a5133_service_running_stat = false;
+static bool a5133_sensor_exist = false;
+
+
+static bool g_a5133_timer_is_running = false;
+osTimerId_t g_a5133_service_timer = NULL;
+static void a5133_service_check_timer_callback(void* data);
+
+static void acc_service_timer_start_check(uint32_t rtc_ms)
+{
+    
+    if (g_a5133_timer_is_running )  osTimerStop(g_a5133_service_timer);
+    if (a5133_service_running_stat == true) osTimerStart(g_a5133_service_timer, rtc_ms);
+    g_a5133_timer_is_running = true;
+    
+}
+static void a5133_timer_init(void)
+{
+    g_a5133_service_timer = osTimerNew((osTimerFunc_t)a5133_service_check_timer_callback, osTimerPeriodic, NULL, NULL);
+}
+
+void uapi_a5133_service_deinit(void)
+{
+    a5133_service_running_stat = false;
+}
+
+uint32_t a5133_suspend(void)
+{
+    return 0;
+}
+uint32_t a5133_resume(void)
+{
+    return 0;
+}
+
+static uint8_t a5133_server_working_mode = SLAVE ;
+static uint8_t a5133_server_break_flag = 0;
+void send_a5133_cmd_msg(int cmd)
+{
+    int ret;
+    if (a5133_sensor_exist == false)
+        return ;
+
+    A5133_CMD_TYPE_T mail = 0;
+    mail = cmd;
+    ret = osal_msg_queue_write_copy(g_app_queue, (void *)&mail,
+                                    sizeof(A5133_CMD_TYPE_T), 0);
+    if (ret != OSAL_SUCCESS) {
+        PRINT_ERR("Error mag Check MSG 0x%02X send failed! err=0x%x! \r\n",cmd, ret);
+    }
+    
+}
+
+static void a5133_service_check_task(void  *arg)
+{
+    unused(arg);
+    int32_t ret;
+    uint32_t mail;
+    uint32_t msgsize = (uint32_t)sizeof(A5133_CMD_TYPE_T);
+    a5133_service_running_stat  = true;
+
+    a5133_gpio_init();
+    PRINT("a5133_service_check_task !\r\n");
+   
+    while (1) {
+        ret = osal_msg_queue_read_copy(g_app_queue, (void *)&mail, &msgsize,
+                                       OSAL_MSGQ_WAIT_FOREVER);
+        if (ret != OSAL_SUCCESS) {
+            continue;
+        }
+
+        if (mail == A5133_SERVICE_CMD_TYPE_RUN_MASTER)
+        {
+            a5133_main(MASTER);
+        }else if (mail == A5133_SERVICE_CMD_TYPE_RUN_SLAVE)
+        {
+            a5133_main(SLAVE);
+        }
+    }
+    a5133_server_break_flag = 0;
+    a5133_service_running_stat = false;
+}
+void create_a5133_queue(void)
+{
+    if (osal_msg_queue_create("a5133_service_queue", A5133_SERVICE_MSG_COUNT, &g_app_queue,
+                              0, sizeof(A5133_CMD_TYPE_T)) != ERRCODE_SUCC) {
+        PRINT_ERR("[ppg][service] app create mail fail\n");
+    }
+}
+errcode_t uapi_a5133_service_init(void)
+{
+   
+
+    PRINT("uapi_a5133_service_init !\r\n");
+
+    app_task_definition_t taskcfg={0};
+    taskcfg.create_queue_handle = create_a5133_queue;
+    taskcfg.attr.name="a5133_service";
+    taskcfg.attr.priority = osPriorityBelowNormal1;
+    taskcfg.attr.stack_size = A5133_SERVICE_TASK_SIZE;
+    taskcfg.func = a5133_service_check_task;
+    taskcfg.use_mem = USE_EXTEND_MEM;
+    
+    errcode_t ret=uapi_create_osThread_custom(&taskcfg);
+    if(ret != ERRCODE_SUCC)
+    {
+        PRINT("create a5133_service failed %d!\r\n",ret);
+        return ERRCODE_FAIL;
+    }
+
+    return ERRCODE_SUCC;
+}
+
+
+#ifdef __cplusplus
+#if __cplusplus
+}
+#endif /* __cplusplus */
+#endif /* __cplusplus */
diff --git a/code/sdk/drivers/peripheral/a5133/service/a5133_service.h b/code/sdk/drivers/peripheral/a5133/service/a5133_service.h
new file mode 100644 (file)
index 0000000..39aa648
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * @Author: penglei 1624952103@qq.com
+ * @Date: 2024-03-27 09:07:00
+ * @LastEditors: SnickerSun snickersun@163.com
+ * @LastEditTime: 2024-07-20 08:16:02
+ * @FilePath: /FD230/code/sdk/drivers/peripheral/ppg/service/a5133_service.h
+ * @Description: 
+ * 
+ * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved. 
+ */
+/**
+ * Copyright (c) @CompanyNameMagicTag 2022-2022. All rights reserved. \n
+ *
+ * Description: Test adc header \n
+ * Author: @CompanyNameTag \n
+ * History: \n
+ * 2022-08-16, Create file. \n
+ */
+
+#ifndef A5133_SERVICE_H__
+#define A5133_SERVICE_H__
+
+#ifdef __cplusplus
+#if __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+#endif /* __cplusplus */
+
+#include "stdint.h"
+#include "errcode.h"
+typedef uint32_t A5133_CMD_TYPE_T ;
+#define A5133_SERVICE_CMD_TYPE_RUN_MASTER  0x09
+#define A5133_SERVICE_CMD_TYPE_RUN_SLAVE   0x0A
+
+errcode_t uapi_a5133_service_init(void);
+void uapi_a5133_service_deinit(void);
+/**
+ * 测试指令 参数cmd 选项: A5133_SERVICE_CMD_START_CHECK,A5133_SERVICE_CMD_STOP_CHECK
+*/
+void send_a5133_cmd_msg(int cmd);
+
+
+
+#ifdef __cplusplus
+#if __cplusplus
+}
+#endif /* __cplusplus */
+#endif /* __cplusplus */
+
+#endif
\ No newline at end of file
index 90ba3fb..372eb31 100644 (file)
@@ -9,7 +9,9 @@
 #include "custom_runtime.h"
 #include "lwip/altcp_tls.h"
 #include "ConfigModelC.h"
-
+#ifdef SUPPORT_A5133_SERVICE
+#include "service/a5133_service.h"
+#endif
 #define ARRAY_COUNT(array) (sizeof(array) / sizeof(array[0]))
 #define CUSTOM_UTILS_MAX_ARGC            8
 #define CUSTOM_UTILS_MAX_ARGV_LEN        256
@@ -794,6 +796,34 @@ static uint32_t custom_get_cywee_active_state(uint8_t *para, uint32_t paraLen, c
         wstp_print("cywee is not active !!!\n");
     return ERRCODE_SUCC;
 }
+#ifdef SUPPORT_A5133_SERVICE
+static uint32_t custom_a5133_send_msg(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+    UNUSED(strCommonCmd);
+
+    uint8_t argv[CUSTOM_UTILS_MAX_ARGC][CUSTOM_UTILS_MAX_ARGV_LEN] = {0};
+    uint32_t argc = 0;
+
+    int ret = ConvertCmdToParam(para, paraLen, argv, &argc);
+    if (ret != CUSTOM_UTILS_SUCCESS)
+    {
+        wstp_print("CUSTOM_UTILSTEST ATCMD Convert Command Failed\n");
+        return ERRCODE_FAIL;
+    }
+
+    if (argc != 1)
+    {
+        wstp_print("CUSTOM_UTILSTEST A5133 ATCMD Set Parameter Failed argc %d\r\n");
+        return ERRCODE_FAIL;
+    }
+    int cmd = atol((char *)argv[0]);
+    wstp_print("A5133 Service %d!!!\n",cmd);
+    send_a5133_cmd_msg(cmd);
+    
+    return ERRCODE_SUCC;
+}
+#endif
+
 
 static const at_cmd_table_t g_custom_utils_cmd[] = {
     { (char *)"AT^CUSTOM_SN",      custom_utils_setsn, (char *)"123456789ABCDEF2345678" },
@@ -854,7 +884,9 @@ static const at_cmd_table_t g_custom_utils_cmd[] = {
     {(char *)"AT^GETIMEI", custom_get_imei, (char *)" "},
     {(char *)"AT^GETCHIPINFO", custom_get_cywee_chip_info, (char *)" "},
     {(char *)"AT^GETCYWEEACTIVE", custom_get_cywee_active_state, (char *)" "},
-
+#ifdef SUPPORT_A5133_SERVICE
+    {(char *)"AT^A5133SENDDATA", custom_a5133_send_msg, (char *)" "},
+#endif
 };
 
 
diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-lt22/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-lt22/libgfx_rm.a
new file mode 100644 (file)
index 0000000..b75933c
Binary files /dev/null and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-lt22/libgfx_rm.a differ
diff --git a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-lt22/libdisplay_gfx.a b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-lt22/libdisplay_gfx.a
new file mode 100644 (file)
index 0000000..821e28a
Binary files /dev/null and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-lt22/libdisplay_gfx.a differ
diff --git a/code/sdk/middleware/services/gui/uikit/brandy-native-js-lt22/libuikit_ext.a b/code/sdk/middleware/services/gui/uikit/brandy-native-js-lt22/libuikit_ext.a
new file mode 100644 (file)
index 0000000..213b424
Binary files /dev/null and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-lt22/libuikit_ext.a differ
diff --git a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-lt22/libx_vfs_private.a b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-lt22/libx_vfs_private.a
new file mode 100644 (file)
index 0000000..805841e
Binary files /dev/null and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-lt22/libx_vfs_private.a differ
diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-lt22/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-lt22/libfs_yaffs2.a
new file mode 100644 (file)
index 0000000..5732c59
Binary files /dev/null and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-lt22/libfs_yaffs2.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-lt22/libams.a b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-lt22/libams.a
new file mode 100644 (file)
index 0000000..3189430
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-lt22/libams.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-lt22/libace.a b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-lt22/libace.a
new file mode 100644 (file)
index 0000000..fff3f6f
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-lt22/libace.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-lt22/libbms.a b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-lt22/libbms.a
new file mode 100644 (file)
index 0000000..d39cac6
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-lt22/libbms.a differ
diff --git a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-lt22/libjerryscript.a b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-lt22/libjerryscript.a
new file mode 100644 (file)
index 0000000..9d650b5
Binary files /dev/null and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-lt22/libjerryscript.a differ