Skip to content

Commit

Permalink
Merge branch 'ghost-esp' of https://github.com/jaylikesbunda/flipper-…
Browse files Browse the repository at this point in the history
…application-catalog into ghost-esp
  • Loading branch information
jaylikesbunda committed Nov 27, 2024
2 parents 817604a + 5520d20 commit 06a309b
Show file tree
Hide file tree
Showing 21 changed files with 216 additions and 23 deletions.
97 changes: 97 additions & 0 deletions applications/GPIO/canfdhs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Flipper Zero CAN FD HS SW


This software implements an USB to CAN bridge compatible with **Linux [can-utils](https://github.com/linux-can/can-utils) and slcan driver.** <br>
This software application is designed to run on flipper zero device and needs SERMA CAN FD board to be plugged in GPIOs ports available [here](https://github.com/serma-safety-security/flipper-zero-can-fd-hs-module).<br>
![Flipper zero CAN FD](./Documentation/images/main_logo.png "Flipper zero CAN FD")

## Usage

When entering the application (by selecting can-fd-hs) from main menu or by selecting Apps/USB-CAN, a list appears with 3 choices which represent the 3 modes of the application detailled in next sections :
- **USB-CAN Bridge :** This is the **main mode** which is used as a bridge between can-utils and a CAN device under test.
- TEST USB LOOPBACK : This mode is used to test connectivity between host computer and flipper zero.
- CAN TEST : This mode is used to test CAN connectivity. This send "CANALIVE" through CAN.

### USB-CAN Bridge

This mode have to be entered before issuing any configuration command.
Then you can :
1. Create a CAN network interface through USB Virtual com port (VCP) :`sudo slcand -s<X> <options> ttyACM<Y> can<Z>`.
2. enable your created network interface `sudo ifconfig can<X> up`.
3. operate normally your can interface by using `cansend can<X> <iii>#<dddddddd>` and `candump can<X>` commands.

Please refer to [can-utils](https://github.com/linux-can/can-utils) for more details.<br>
If issues are encountered, you can get more informations by connecting directly to vcp with tool like putty :
- serial mode
- 8 data bits
- no parity
- no hardware control flow

You can see the following screenshot for more informations:

![debug mode](./Documentation/images/debug.png "debug mode")

**This mode can also be used to configure connection in flexible datarate ("S9" command).**<br>

> **NB1 : beware of command line termination. It must be a carriage return '\r'. For more convenience newline '\n' characters located after carriage returns are ignored.** <br>
> **NB2 : for compatibility reason (with can-utils) newline character is not appended after CAN RX frames.As a consequence display of these frames is impacted. To avoid this send "d" on VCP to enter in debug mode.** <br>
> **NB3 : beware of usb cdc buffer length. Max size is 64. So command number that can be sent in one frame is limited.** <br>
### TEST USB LOOPBACK

This mode is used to test VCP (USB cdc) connectivity. To use this mode, you have to :
1. connect to the VCP with any VCP tool like putty :
- serial mode
- 8 data bits
- no parity
- no hardware control flow
2. Once the connection is established message USB loopback is displayed, the user can test connection by sending characters on serial line and checking the content sent is sent back on serial line by the flipper device.

![USB loopback](./Documentation/images/usb_loopback.png "USB loopback")

### TEST CAN

This mode is used to test CAN connection (to verify wiring between CAN device under test and flipper zero board).
No user action is required before using this mode (except the obvious wiring step).<br>
The frame sent every 200 ms shall by the device shall be the following :
- **007E5TCA:43414E4C49564500** : IIIIIIII:DDDDDDDDDDDDDDDD with
- **\<III..\>** the extended identifier (007E57CA = "TESTCA" in hexspeak)
- **\<DDD..\>** the data (43414E4C49564500 = "CANLIVE" in ascii).

![test can](./Documentation/images/testcan.JPG "test can")

> note : You can first check Tx LED blinks and transmitted byte counter (on flipper screen) increment by 8 every 200ms to diagnose problems.
## Development

### documentation

Documentation can be found [here](./Documentation/html/index.html).\
To re-generate documentation you have to install `doxygen` before running `Documentation/generate_doc.sh [--open]` (--open is used to open documentation after the generation).


### architecture overview

This application is based on:
- XTREME firmware USB-UART bridge application : It has been modified to send data on CAN (via SPI) and not on UART.
- Longan Labs [Longan_CANFD](https://github.com/Longan-Labs/Longan_CANFD) library : this is the driver for the MCP 2518 CAN transceiver.

**More information on architecture is given in [docs](./Documentation/html/index.html) (cf. previous section).**

Application is built as an external app using standard fbt commands. Please refer to flipper documentation for more information.

### Test status
Applications has been tested with a MCP2515 evaluation board. As a consequence, only the following datarates are tested :
- 125 Kbaud
- 250 Kbaud
- 500 Kbaud
- 1 MBaud

![Flipper zero CAN FD test setup](./Documentation/images/CAN_test.png "Flipper zero CAN FD test setup")

> **Note: the flexible datarate is not tested yet.**
### Known bugs

Multiple exit and enters in application and its submode produce instable behaviour.

21 changes: 21 additions & 0 deletions applications/GPIO/canfdhs/manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## This is a sample manifest file for the Flipper Apps Catalog.
## Create one for your app in a corresponding directory in the 'applications' folder.

sourcecode:
type: git
location:
## Specify the git URL of your repository
origin: https://github.com/serma-safety-security/Flipper-Zero-CAN-FD-HS-SW.git
## Put the full commit SHA of the commit with the app's code you want to submit
commit_sha: 5c050f4f825957c44e3cd54bd784b8dfec9cdcdf
## (Optional) If your app is located in a subdirectory of the repository, specify it here
# subdir: .
## If application.fam contains 'fap_description', it will be used as a short description
short_description: This software implements an USB to CAN bridge compatible with Linux can-utils and slcan driver.
## For 'description' and 'changelog', you can use limited markdown syntax
## You can also specify a file from your app's repository as a source with @
description: "@Documentation/README_lite.md"
changelog: "@changelog.md"
## Unmodified screenshots from qFlipper
screenshots:
- Documentation/qflipper_screenshots/Screenshot-1.png
3 changes: 3 additions & 0 deletions applications/GPIO/fencing_testbox/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Status

[![fencing_testbox](https://catalog.flipperzero.one/application/fencing_testbox/widget)](https://catalog.flipperzero.one/application/fencing_testbox/page)
18 changes: 18 additions & 0 deletions applications/GPIO/fencing_testbox/manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
id: "fencing_testbox"
name: "Fencing Test Box"
category: "GPIO"
author: "@aarjaneiro"
version: "0.1"
icon: "assets/fencing_testbox_10px.png"
description: "A simple emulator of a fencing testbox for the Flipper Zero."
changelog: "@CHANGELOG.md"
screenshots:
- "screenshots/main_page.png"
- "screenshots/testbox.png"
- "screenshots/wiring.png"

sourcecode:
type: git
location:
origin: https://github.com/aarjaneiro/fencing_testbox/
commit_sha: 58e4fad8796fc295ea9e7a8da72fa62db1d6b8fe
4 changes: 2 additions & 2 deletions applications/GPIO/flip_library/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ sourcecode:
type: git
location:
origin: https://github.com/jblanked/FlipLibrary.git
commit_sha: 12cfaf093be3980b1bf488feb3111b3226bf66bd
commit_sha: ae8ed2210b3b1c60e017248fba34d4d76fdb2735
short_description: "A Flipper Zero app with a dictionary, random facts, and more."
description: "@README.md"
changelog: "@CHANGELOG.md"
author: "JBlanked"
name: "FlipLibrary"
version: "1.1"
version: "1.3"
id: "flip_library"
category: "GPIO"
targets: ['all']
Expand Down
4 changes: 2 additions & 2 deletions applications/GPIO/flip_social/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ sourcecode:
type: git
location:
origin: https://github.com/jblanked/FlipSocial.git
commit_sha: 7feac2896135e5ca968de0931f99754201a93fa0
commit_sha: 6089cd6a7ed62b94db0a2a24b241cc2e6cf5f6f4
short_description: "Social media platform for the Flipper Zero."
description: "@./assets/README.md"
changelog: "@./assets/CHANGELOG.md"
author: "JBlanked"
name: "FlipSocial"
version: "0.5"
version: "0.6.3"
id: "flip_social"
category: "GPIO"
targets: ['all']
Expand Down
4 changes: 2 additions & 2 deletions applications/GPIO/flip_trader/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ sourcecode:
type: git
location:
origin: https://github.com/jblanked/FlipTrader.git
commit_sha: fb2f2144791e4db31ff2eca21cc059a179ebfa22
commit_sha: 1717a8ac7e916bd7a246b79971a5d602e018faf6
short_description: "Use WiFi to get the price of stocks and currency pairs on your Flipper Zero."
description: "@README.md"
changelog: "@CHANGELOG.md"
author: "JBlanked"
name: "FlipTrader"
version: "1.0"
version: "1.2"
id: "flip_trader"
category: "GPIO"
targets: ['all']
Expand Down
4 changes: 2 additions & 2 deletions applications/GPIO/flip_weather/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ sourcecode:
type: git
location:
origin: https://github.com/jblanked/FlipWeather.git
commit_sha: 2b914dd620d7044caf76acbb0506a4da66d8d7a4
commit_sha: a43fab1bf447ccd3e0c573b5bd2fe38ccda33eb6
short_description: "Use WiFi to get GPS and Weather information on your Flipper Zero."
description: "@README.md"
changelog: "@CHANGELOG.md"
author: "JBlanked"
name: "FlipWeather"
version: "1.0"
version: "1.2"
id: "flip_weather"
category: "GPIO"
targets: ['all']
Expand Down
4 changes: 2 additions & 2 deletions applications/GPIO/flip_wifi/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ sourcecode:
type: git
location:
origin: https://github.com/jblanked/FlipWiFi.git
commit_sha: a9fd8493d790f1c04b3697ea42a28f24fad73cd2
commit_sha: c65232f0173202d2b15633a341c445aea13672b9
short_description: "FlipperHTTP companion app. Scan and save WiFi networks on your Flipper Zero."
description: "@README.md"
changelog: "@CHANGELOG.md"
author: "JBlanked"
name: "FlipWiFi"
version: "1.0"
version: "1.2"
id: "flip_wifi"
category: "GPIO"
targets: ['all']
Expand Down
14 changes: 14 additions & 0 deletions applications/GPIO/gemini_ia/manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
sourcecode:
type: git
location:
origin: https://github.com/d4rks1d33/Gemini-Flipper.git
commit_sha: 6776f9ae40dc5e1954d29ac517460c6bb33b2571
id: "gemini_ia"
category: "GPIO"
short_description: "Companion app for interfacing with Gemini IA using the Flipper Zero"
description: "@./README.md"
changelog: "@./changelog.md"
screenshots:
- "./screenshots/menu.png"
- "./screenshots/menu2.png"
- "./screenshots/chat.png"
2 changes: 1 addition & 1 deletion applications/GPIO/pokemon/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ sourcecode:
type: git
location:
origin: https://github.com/kbembedded/Flipper-Zero-Game-Boy-Pokemon-Trading
commit_sha: abeb8b126c598e7f2daaf3343507eb70b91b93e4
commit_sha: 3ea38b0b1548378127fc0b455939b854546fa23a
description: "@README_catalog.md"
changelog: "@changelog.md"
screenshots:
Expand Down
6 changes: 3 additions & 3 deletions applications/GPIO/web_crawler/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ sourcecode:
type: git
location:
origin: https://github.com/jblanked/WebCrawler-FlipperZero.git
commit_sha: 462d56f50c365b78a3857b64d626e69adc96c518
short_description: "Use Wi-Fi to access the internet and scrape data from the web."
commit_sha: c651762b4dbefcdc58010f0e7afd1a9bd4f9c41f
short_description: "Use WiFi to access the internet and scrape data from the web."
description: "@README.md"
changelog: "@CHANGELOG.md"
author: "JBlanked"
name: "Web Crawler"
version: "0.6"
version: "0.8"
id: "web_crawler"
category: "GPIO"
targets: ['all']
Expand Down
7 changes: 4 additions & 3 deletions applications/Games/banana/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ sourcecode:
type: git
location:
origin: https://github.com/DrEverr/FlipperApps.git
commit_sha: 2ad5bff08a88dd1ee8f03e22a658ef29408f7d74
commit_sha: d8c17e5000a31c3088c6c0b85680f1748168d379
subdir: banana
description: "Banana. Everyone loves bananas."
changelog: "v0.3: saving progress v0.2: deleted text counter v0.1: init"
description: "README.md"
short_description: "Banana. Everyone loves banana."
changelog: "CHANGELOG.md"
author: "Marcin Sokołowski (@DrEverr)"
screenshots:
- "./screens/1.png"
Expand Down
14 changes: 14 additions & 0 deletions applications/Games/pinball0/manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
sourcecode:
type: git
location:
origin: https://github.com/rdefeo/pinball0.git
commit_sha: 7090ec291a63d59ba114d91ecf85a1a0f1c95edb
changelog: "@./CHANGELOG.md"
description: "@./README_flipperlab.md"
author: "Roberto De Feo"
screenshots:
- "./screenshots/lab_splash.png"
- "./screenshots/lab_menu.png"
- "./screenshots/lab_basic.png"
- "./screenshots/lab_el_ocho.png"
- "./screenshots/lab_classic.png"
4 changes: 2 additions & 2 deletions applications/Games/snake20/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ sourcecode:
type: git
location:
origin: https://github.com/xMasterX/all-the-plugins.git
commit_sha: 06c22064aa6ae0c33438795eb7cd27d4d083c6c8
commit_sha: 1380605e6ae59e7ea3e3934da5f0106a5756e9cd
subdir: apps_source_code/Snake_2
description: "Advanced Snake Game (Remake of original Snake)"
changelog: "v2.0 - Initial release, v2.1 - Various important fixes, v2.2 - Sync updates and latest API support"
changelog: "@changelog.md"
author: "@Willzvul"
screenshots:
- "./img/2.png"
Expand Down
10 changes: 10 additions & 0 deletions applications/Media/image_viewer/manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
sourcecode:
type: git
location:
origin: https://github.com/polioan/flipper-zero-image-viewer.git
commit_sha: 82fbcb5d669bd3e6cbf7af7593ad8efe0f19f1bd
description: "@./README.md"
changelog: "@./CHANGELOG.md"
author: "@polioan"
screenshots:
- "./screenshot.png"
3 changes: 3 additions & 0 deletions applications/NFC/nfc_maker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Status

[![nfc_maker](https://catalog.flipperzero.one/application/nfc_maker/widget)](https://catalog.flipperzero.one/application/nfc_maker/page)
12 changes: 12 additions & 0 deletions applications/NFC/nfc_maker/manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
sourcecode:
type: git
location:
origin: https://github.com/Next-Flip/Momentum-Apps.git
commit_sha: 261262b2464c1ea3133b4266bc5c8302b1ae4197
subdir: nfc_maker
description: "@.catalog/README.md"
changelog: "@.catalog/CHANGELOG.md"
screenshots:
- .catalog/1.png
- .catalog/2.png
- .catalog/3.png
2 changes: 1 addition & 1 deletion applications/Tools/quac/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ sourcecode:
type: git
location:
origin: https://github.com/rdefeo/quac.git
commit_sha: 1bd825b34ff0d63800f9b67f54d3cddb5b093e28
commit_sha: 1719213da259715b2f559bd6643a7e855e374abd
changelog: "@./CHANGELOG.md"
description: "@./README_flipperlab.md"
author: "Roberto De Feo"
Expand Down
4 changes: 2 additions & 2 deletions applications/Tools/tasks/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ sourcecode:
type: git
location:
origin: "https://github.com/MadLadSquad/FlipperTasks.git"
commit_sha: "e670dfcd1d2e09ecaa1a54478423936508799558"
commit_sha: "78d77f953757c23edbdf5c68ee8487e479610fcc"
description: "A simple to-do application."
changelog: "v1.0 - Initial release, v1.1 - Minor refactor"
changelog: "v1.0 - Initial release, v1.1 - Minor refactor, v1.2 - Bump framework version"
screenshots:
- "showcase/flipper1.png"
- "showcase/flipper2.png"
Expand Down
2 changes: 1 addition & 1 deletion applications/Tools/upython/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ sourcecode:
type: git
location:
origin: https://github.com/ofabel/mp-flipper.git
commit_sha: 35f3246ffde51b99daa6afec14670349788dff7d
commit_sha: 0d0afba61bed1921142353828bdcab00f3a7f61f
description: "@./docs/README.md"
changelog: "@./docs/CHANGELOG.md"
screenshots:
Expand Down

0 comments on commit 06a309b

Please sign in to comment.