Skip to content

Aaumkar/network subnet v0.1#1079

Merged
xMasterX merged 11 commits into
flipperdevices:mainfrom
aaumkar:aaumkar/network_subnet_v0.1
Jul 12, 2026
Merged

Aaumkar/network subnet v0.1#1079
xMasterX merged 11 commits into
flipperdevices:mainfrom
aaumkar:aaumkar/network_subnet_v0.1

Conversation

@aaumkar

@aaumkar aaumkar commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Application Submission

A simple application to view details of an IPv4 network subnet. I thought it would be cool to be able to view details whenever I want on my EDC flipper. The user needs to fill in

  1. IP/CIDR format or
  2. Subnet Mask and then IP
    The app will just calculate the network address, broadcast address number of hosts and subnet mask.

Extra Requirements

No.

Author Checklist (Fill this out)

  • I've read the contribution guidelines and my PR follows them
  • I own the code I'm submitting or have code owner's permission to submit it
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have validated the manifest file(s) with python3 tools/bundle.py --nolint applications/CATEGORY/APPID/manifest.yml bundle.zip

AI usage disclosure (Fill this out):

  • Partially AI assisted (clarify below which code was AI assisted and briefly explain what it does).
  • Fully AI generated (explain what all the generated code does in moderate detail).

I have used Claude code to understand flipper library, code structure (SceneManager, ViewDispatcher, ADD_SCENE macros, event handlers etc.). Although I have learnt C programming in school I needed some refresher of functional language and assistance with the understanding. Claude has also reviewed the code.

Reviewer Checklist (Don't fill this out!)

  • Bundle is valid
  • There are no obvious issues with the source code
  • I've ran this application and verified its functionality

@xMasterX xMasterX left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I was not able to even compile the app without fixing the code 🥲

App works OK after doing fix of this error
error: "CHAR_WIDTH" redefined [-Werror]

lib/gcc/arm-none-eabi/12.3.1/include-fixed/limits.h:130: note: this is the location of the previous definition
  130 | # define CHAR_WIDTH __SCHAR_WIDTH__

Here is the fixed version for you, push that into your repo and update commit sha here
network_subnet-main.zip

But one thing I haven't fixed is the icon network_subnet.png file, please fix that yourself, it should be black and white only like #00000 and #FFFFFF colors
No transparency or any other color, 1 bit B&W only

Tag me when its ready to re-review

@xMasterX xMasterX added the fixes needed Unresolved issues with the app requiring maintainer's attention label Jun 8, 2026
@aaumkar

aaumkar commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Hey!!

I'm sorry I missed this. I tried to ensure it worked. (I have some questions but I'll google them first.)

I'll push the changes you made. Thank you for fixing it.

I will fix the image as well. I didn't know any 10x10 image editors so I used the one on Flipper itself. I presumed it would work. But I will look into the details.

@xMasterX

xMasterX commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Hey!!

I'm sorry I missed this. I tried to ensure it worked. (I have some questions but I'll google them first.)

I'll push the changes you made. Thank you for fixing it.

I will fix the image as well. I didn't know any 10x10 image editors so I used the one on Flipper itself. I presumed it would work. But I will look into the details.

You can use https://www.pixilart.com/draw
It outputs correct images for 10px icons, I used it myself many times, just make sure to select canvas size 10x10 and colors to be #00000 and #FFFFFF

@aaumkar

aaumkar commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Hey @xMasterX ,

I have made the changes you suggested. I understand that CHAR_WIDTH is used by some other code somewhere and that conflicted with my name. I'll remember this from now on.

Also changed the image. Hope it works now. Thanks!

@aaumkar

aaumkar commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Hey again,

There was another potential collision with TAG, renamed that too now.

@xMasterX

xMasterX commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

You need to fix app category in .fam file and update commit sha

[E] App category 'tools' in manifest does not match category 'Tools'

@aaumkar

aaumkar commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

This is weird. I had this error locally with
python3 tools/bundle.py --nolint applications/tools/network_subnet/manifest.yml bundle.zip
and had to fix by renaming category from "Tools" to "tools".

It is working with current setting

python3 tools/bundle.py --nolint applications/tools/network_subnet/manifest.yml bundle.zip

19:05:19.602 [I] Deploying SDK for f7
19:05:19.602 [I] Fetching version info for UpdateChannel.RELEASE from https://update.flipperzero.one/firmware/directory.json
19:05:20.013 [I] Using version: 1.4.3
19:05:20.013 [I] uFBT SDK dir: /Users/aaumkar/.ufbt/current
19:05:20.013 [I] SDK is up-to-date
19:05:20.091 [I] Working in '/private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmpyer7typ9'
19:05:20.093 [I] Loaded app manifest from applications/tools/network_subnet/manifest.yml
19:05:20.093 [I] Cloning https://github.com/aaumkar/network_subnet.git to /private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmp72ryda32
Cloning into '/private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmp72ryda32'...
remote: Enumerating objects: 142, done.
remote: Counting objects: 100% (142/142), done.
remote: Compressing objects: 100% (77/77), done.
remote: Total 142 (delta 85), reused 114 (delta 57), pack-reused 0 (from 0)
Receiving objects: 100% (142/142), 27.66 KiB | 9.22 MiB/s, done.
Resolving deltas: 100% (85/85), done.
19:05:20.850 [I] Cloned. Checking out commit 502e2af1e561b606232ea2482263ef75c11ea807
HEAD is now at 502e2af Renaming another potential collision
19:05:20.859 [I] Checked out. Updating submodules
19:05:20.916 [I] Moving /private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmp72ryda32 to /private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmpyer7typ9/code
19:05:20.916 [I] Building
19:05:22.896 [I] Value for 'name' is empty in YAML. Using value 'Network Subnet Helper' from FAM.
19:05:22.896 [I] Value for 'id' is empty in YAML. Using value 'network_subnet' from FAM.
19:05:22.896 [I] Value for 'author' is empty in YAML. Using value 'aaumkar' from FAM.
19:05:22.896 [I] Value for 'category' is empty in YAML. Using value 'tools' from FAM.
19:05:22.896 [I] Value for 'icon' is empty in YAML. Using value 'network_subnet.png' from FAM.
19:05:22.896 [W] Value in YAML for 'short_description' is different from value in FAM: 'A tool to view network subnets and other details.' / 'An app to help with IPv4 Subnets'. Using value from YAML.
19:05:22.896 [I] Value for 'targets' is empty in YAML. Using value '['all']' from FAM.
19:05:22.896 [I] Value for 'version' is empty in YAML. Using value '0.1' from FAM.
19:05:22.896 [I] Including changelog from file /private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmpyer7typ9/code/CHANGELOG.md
19:05:22.918 [I] Saving updated manifest with skip_source_code=False
19:05:22.922 [I] Bundle created: bundle.zip

If I do "Tools" in manifest, it fails locally.

@aaumkar

aaumkar commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

Anyway, I can change the category to Tools in the application.fam

@aaumkar

aaumkar commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author
 python3 tools/bundle.py --nolint applications/tools/network_subnet/manifest.yml bundle.zip

19:15:47.208 [I] Deploying SDK for f7
19:15:47.208 [I] Fetching version info for UpdateChannel.RELEASE from https://update.flipperzero.one/firmware/directory.json
19:15:47.609 [I] Using version: 1.4.3
19:15:47.610 [I] uFBT SDK dir: /Users/aaumkar/.ufbt/current
19:15:47.610 [I] SDK is up-to-date
19:15:47.713 [I] Working in '/private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmpcwqhuzab'
19:15:47.715 [I] Loaded app manifest from applications/tools/network_subnet/manifest.yml
19:15:47.715 [I] Cloning https://github.com/aaumkar/network_subnet.git to /private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmpoyztso8z
Cloning into '/private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmpoyztso8z'...
remote: Enumerating objects: 144, done.
remote: Counting objects: 100% (144/144), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 144 (delta 86), reused 114 (delta 56), pack-reused 0 (from 0)
Receiving objects: 100% (144/144), 27.83 KiB | 9.28 MiB/s, done.
Resolving deltas: 100% (86/86), done.
19:15:48.360 [I] Cloned. Checking out commit a0babc23c69ae8386948b4cfcd02ccf7838939d2
HEAD is now at a0babc2 Fix category
19:15:48.368 [I] Checked out. Updating submodules
19:15:48.431 [I] Moving /private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmpoyztso8z to /private/var/folders/z0/12k0r8vs26l4szsb9k07zhhh0000gn/T/tmpcwqhuzab/code
19:15:48.431 [I] Building
19:15:48.741 [I] Value for 'name' is empty in YAML. Using value 'Network Subnet Helper' from FAM.
19:15:48.741 [I] Value for 'id' is empty in YAML. Using value 'network_subnet' from FAM.
19:15:48.741 [I] Value for 'author' is empty in YAML. Using value 'aaumkar' from FAM.
19:15:48.741 [I] Value for 'category' is empty in YAML. Using value 'Tools' from FAM.
19:15:48.741 [I] Value for 'icon' is empty in YAML. Using value 'network_subnet.png' from FAM.
19:15:48.741 [W] Value in YAML for 'short_description' is different from value in FAM: 'A tool to view network subnets and other details.' / 'An app to help with IPv4 Subnets'. Using value from YAML.
19:15:48.741 [I] Value for 'targets' is empty in YAML. Using value '['all']' from FAM.
19:15:48.741 [I] Value for 'version' is empty in YAML. Using value '0.1' from FAM.
19:15:48.745 [E] App category 'Tools' in manifest does not match category 'tools' from path 'applications/tools/network_subnet/manifest.yml'

Now it throws this above. Would this work when you build perhaps @xMasterX ?

@aaumkar

aaumkar commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

I saw the logs in the job now. I'll push the changed commit SHA.

@xMasterX xMasterX removed the fixes needed Unresolved issues with the app requiring maintainer's attention label Jul 12, 2026

@xMasterX xMasterX left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good now, thanks!

@xMasterX xMasterX merged commit 5855061 into flipperdevices:main Jul 12, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants