Browse Source

Merge branch 'master' of https://gitee.com/lyon1998/pikascript

lyon 9 months ago
parent
commit
faf93fc5ff
6 changed files with 118 additions and 111 deletions
  1. 107 107
      .github/workflows/codeql.yml
  2. 3 0
      .gitmodules
  3. 1 0
      README.md
  4. 2 0
      README_zh.md
  5. 1 0
      bsp/MicroLink
  6. 4 4
      src/PikaVM.c

+ 107 - 107
.github/workflows/codeql.yml

@@ -1,122 +1,122 @@
-# For most projects, this workflow file will not need changing; you simply need
-# to commit it to your repository.
-#
-# You may wish to alter this file to override the set of languages analyzed,
-# or to provide custom queries or build logic.
-#
-# ******** NOTE ********
-# We have attempted to detect the languages in your repository. Please check
-# the `language` matrix defined below to confirm you have the correct set of
-# supported CodeQL languages.
-#
-name: "CodeQL"
+# # For most projects, this workflow file will not need changing; you simply need
+# # to commit it to your repository.
+# #
+# # You may wish to alter this file to override the set of languages analyzed,
+# # or to provide custom queries or build logic.
+# #
+# # ******** NOTE ********
+# # We have attempted to detect the languages in your repository. Please check
+# # the `language` matrix defined below to confirm you have the correct set of
+# # supported CodeQL languages.
+# #
+# name: "CodeQL"
 
-on:
-  # push:
-  #   branches: [ "main", "master" ]
-  schedule:
-    - cron: '0 0 * * *'
-  pull_request:
-    branches: '*'
+# on:
+#   # push:
+#   #   branches: [ "main", "master" ]
+#   schedule:
+#     - cron: '0 0 * * *'
+#   pull_request:
+#     branches: '*'
 
-jobs:
-  analyze:
-    name: Analyze
-    # Runner size impacts CodeQL analysis time. To learn more, please see:
-    #   - https://gh.io/recommended-hardware-resources-for-running-codeql
-    #   - https://gh.io/supported-runners-and-hardware-resources
-    #   - https://gh.io/using-larger-runners
-    # Consider using larger runners for possible analysis time improvements.
-    runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-20.04' }}
-    timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
-    permissions:
-      actions: read
-      contents: read
-      security-events: write
+# jobs:
+#   analyze:
+#     name: Analyze
+#     # Runner size impacts CodeQL analysis time. To learn more, please see:
+#     #   - https://gh.io/recommended-hardware-resources-for-running-codeql
+#     #   - https://gh.io/supported-runners-and-hardware-resources
+#     #   - https://gh.io/using-larger-runners
+#     # Consider using larger runners for possible analysis time improvements.
+#     runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-20.04' }}
+#     timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
+#     permissions:
+#       actions: read
+#       contents: read
+#       security-events: write
 
-    strategy:
-      fail-fast: false
-      matrix:
-        language: [ 'cpp' ]
-        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ]
-        # Use only 'java' to analyze code written in Java, Kotlin or both
-        # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
-        # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
+#     strategy:
+#       fail-fast: false
+#       matrix:
+#         language: [ 'cpp' ]
+#         # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ]
+#         # Use only 'java' to analyze code written in Java, Kotlin or both
+#         # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
+#         # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
 
-    steps:
-    - name: Checkout repository
-      uses: actions/checkout@v3
-      with:
-        submodules: recursive
+#     steps:
+#     - name: Checkout repository
+#       uses: actions/checkout@v3
+#       with:
+#         submodules: recursive
 
-    # Initializes the CodeQL tools for scanning.
-    - name: Initialize CodeQL
-      uses: github/codeql-action/init@v2
-      with:
-        languages: ${{ matrix.language }}
-        # If you wish to specify custom queries, you can do so here or in a config file.
-        # By default, queries listed here will override any specified in a config file.
-        # Prefix the list here with "+" to use these queries and those in the config file.
+#     # Initializes the CodeQL tools for scanning.
+#     - name: Initialize CodeQL
+#       uses: github/codeql-action/init@v2
+#       with:
+#         languages: ${{ matrix.language }}
+#         # If you wish to specify custom queries, you can do so here or in a config file.
+#         # By default, queries listed here will override any specified in a config file.
+#         # Prefix the list here with "+" to use these queries and those in the config file.
 
-        # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
-        # queries: security-extended,security-and-quality
-        queries: security-and-quality
+#         # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
+#         # queries: security-extended,security-and-quality
+#         queries: security-and-quality
 
 
-    # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
-    # If this step fails, then you should remove it and run the build manually (see below)
-    #- name: Autobuild
-    #  uses: github/codeql-action/autobuild@v2
+#     # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
+#     # If this step fails, then you should remove it and run the build manually (see below)
+#     #- name: Autobuild
+#     #  uses: github/codeql-action/autobuild@v2
 
-    # ℹ️ Command-line programs to run using the OS shell.
-    # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
+#     # ℹ️ Command-line programs to run using the OS shell.
+#     # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
 
-    #   If the Autobuild fails above, remove it and uncomment the following three lines.
-    #   modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
+#     #   If the Autobuild fails above, remove it and uncomment the following three lines.
+#     #   modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
 
-    - run: |
-        cd src
-        mkdir build && cd build && cmake ../ && make
+#     - run: |
+#         cd src
+#         mkdir build && cd build && cmake ../ && make
 
-    - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@v2
-      with:
-        category: "/language:${{matrix.language}}"
-        upload: false
-      id: step1
+#     - name: Perform CodeQL Analysis
+#       uses: github/codeql-action/analyze@v2
+#       with:
+#         category: "/language:${{matrix.language}}"
+#         upload: false
+#       id: step1
 
-    # Filter out rules with low severity or high false positve rate
-    # Also filter out warnings in third-party code
-    - name: Filter out unwanted errors and warnings
-      uses: advanced-security/filter-sarif@v1
-      with:
-        patterns: |
-          -**:cpp/path-injection
-          -**:cpp/world-writable-file-creation
-          -**:cpp/poorly-documented-function
-          -**:cpp/potentially-dangerous-function
-          -**:cpp/use-of-goto
-          -**:cpp/integer-multiplication-cast-to-long
-          -**:cpp/comparison-with-wider-type
-          -**:cpp/leap-year/*
-          -**:cpp/ambiguously-signed-bit-field
-          -**:cpp/suspicious-pointer-scaling
-          -**:cpp/suspicious-pointer-scaling-void
-          -**:cpp/unsigned-comparison-zero
-          -**/cmake*/Modules/**
-        input: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
-        output: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
+#     # Filter out rules with low severity or high false positve rate
+#     # Also filter out warnings in third-party code
+#     - name: Filter out unwanted errors and warnings
+#       uses: advanced-security/filter-sarif@v1
+#       with:
+#         patterns: |
+#           -**:cpp/path-injection
+#           -**:cpp/world-writable-file-creation
+#           -**:cpp/poorly-documented-function
+#           -**:cpp/potentially-dangerous-function
+#           -**:cpp/use-of-goto
+#           -**:cpp/integer-multiplication-cast-to-long
+#           -**:cpp/comparison-with-wider-type
+#           -**:cpp/leap-year/*
+#           -**:cpp/ambiguously-signed-bit-field
+#           -**:cpp/suspicious-pointer-scaling
+#           -**:cpp/suspicious-pointer-scaling-void
+#           -**:cpp/unsigned-comparison-zero
+#           -**/cmake*/Modules/**
+#         input: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
+#         output: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
 
-    - name: Upload CodeQL results to code scanning
-      uses: github/codeql-action/upload-sarif@v2
-      with:
-        sarif_file: ${{ steps.step1.outputs.sarif-output }}
-        category: "/language:${{matrix.language}}"
+#     - name: Upload CodeQL results to code scanning
+#       uses: github/codeql-action/upload-sarif@v2
+#       with:
+#         sarif_file: ${{ steps.step1.outputs.sarif-output }}
+#         category: "/language:${{matrix.language}}"
 
-    - name: Upload CodeQL results as an artifact
-      if: success() || failure()
-      uses: actions/upload-artifact@v3
-      with:
-        name: codeql-results
-        path: ${{ steps.step1.outputs.sarif-output }}
-        retention-days: 5
+#     - name: Upload CodeQL results as an artifact
+#       if: success() || failure()
+#       uses: actions/upload-artifact@v3
+#       with:
+#         name: codeql-results
+#         path: ${{ steps.step1.outputs.sarif-output }}
+#         retention-days: 5

+ 3 - 0
.gitmodules

@@ -1,3 +1,6 @@
 [submodule "port/linux/package/lvgl/lvgl"]
 	path = port/linux/package/lvgl/lvgl
 	url = https://gitee.com/Lyon1998/lvgl
+[submodule "bsp/MicroLink"]
+	path = bsp/MicroLink
+	url = https://github.com/Aladdin-Wang/MicroLink.git

+ 1 - 0
README.md

@@ -65,6 +65,7 @@ The board based on STM32G030C8T6 MCU, only 64kB Flash, 8kB RAM can run pikapytho
 CH340 is deployed to support USB to serial with Type-C USB, support download python script py serial, there are 4 RGB on the board and support the [LCD](https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-23991764791.12.16f97c58fsLjVk&id=660745643102).
 
 # Related Projects
+- 🎮 [MicroLink](https://github.com/Aladdin-Wang/MicroLink) 一款集多功能于一体的嵌入式系统开发工具
 
 - ▶️ [pikapython Binding For LVGL](https://github.com/lvgl/lv_binding_pikascript)
 

+ 2 - 0
README_zh.md

@@ -88,6 +88,8 @@ PikaPython 串口终端、脚本下载、模块管理工具。
 
 ## 相关开源项目 
 
+- 🎮 [MicroLink](https://github.com/Aladdin-Wang/MicroLink) 一款集多功能于一体的嵌入式系统开发工具
+
 - ▶️ [pikapython Binding For LVGL](https://github.com/lvgl/lv_binding_pikascript)
 
 - ⭐ [pikapython Bluepill Demo In PlatformIO — Python-like REPL 🐍🔌](https://github.com/maxgerhardt/pikascript-pio-bluepill)

+ 1 - 0
bsp/MicroLink

@@ -0,0 +1 @@
+Subproject commit 448b486ba43b54b275f67fb2ee9738f1c88366b4

+ 4 - 4
src/PikaVM.c

@@ -327,14 +327,14 @@ PIKA_RES __eventListener_popEvent(PikaEventListener** lisener_p,
     if (NULL == cq) {
         return PIKA_RES_ERR_SIGNAL_EVENT_EMPTY;
     }
-    *id = cq->id[g_PikaVMState.cq.head];
+    *id = cq->id[cq->head];
     if (cq == &g_PikaVMState.cq) {
-        *data = cq->data[g_PikaVMState.cq.head].arg;
+        *data = cq->data[cq->head].arg;
     } else {
-        *signal = cq->data[g_PikaVMState.cq.head].signal;
+        *signal = cq->data[cq->head].signal;
         *data = NULL;
     }
-    *lisener_p = cq->listener[g_PikaVMState.cq.head];
+    *lisener_p = cq->listener[cq->head];
     *head = cq->head;
     cq->head = (cq->head + 1) % PIKA_EVENT_LIST_SIZE;
     return PIKA_RES_OK;