Proposal to restructure sample files.

37 views
Skip to first unread message

rob...@hotmail.com

unread,
Oct 18, 2025, 4:47:06 AMOct 18
to jallib
Hello,

This is posted both on the Jallib as well as the Jallist Google Group.

Matt and I had a short discussion about the directory structure of Jallib, related to sample files.

At this moment all sample files are in the 'sample' directory. At this moment these are almost 3000 files, most of them blink samples.

In order to find samples more easily we could organize this differently. Below some proposals.

Proposal 0:
----------
Keep it as it is.

Proposal 1:
----------
sample/blink  <-- For all blink samples
sample/other  <-- For all other samples

Propsal 2:
----------
sample/blink  <-- For all blink samples
sample/jal    <-- For all jal samples (e.g. print, large_array, etc.)
sample/device <-- For all samples of device files

Propsal 3:
----------
sample/blink   <-- For all blink samples
sample/jal     <-- For all jal samples (e.g. print, large_array, etc.)
sample/ssd1306 <-- For all samples of the ssd_1306 device, one directory per device
sample/ws2812b <-- For all samples of the ws2812b device, one directory per device
....           <-- You do get a lot of directories, 1 for each device.

Proposal 4:
-----------
sample/blink    <-- For all blink samples
sample/16f1823  <-- For all 16f1823 samples
sample/18f46q83 <-- For all 18f46q83samples
....            <-- You do get a lot of directories, 1 for each PIC type for which there are samples
 
My preference is proposal 1 with the second proposal 2 where proposal 1 is the easiest to implement since blink samples are already in a separate directory on GitHub.

Can you let me know your thoughts about it?

Thanks.

Kind regards,

Rob

Andreas Schlögl

unread,
Oct 18, 2025, 12:12:24 PMOct 18
to jal...@googlegroups.com
I vote for Proposal 2, as this brings an easy to understand structure!
Thanks Rob,
-- 
Ing. Andreas Schlögl
Softwarelösungen & Consulting
Metternichstrasse 9
A-2151 Asparn an der Zaya
Handy: +4369910402441
+ Signal for secure communication

Am 18.10.25 um 10:47 schrieb rob...@hotmail.com:
--
You received this message because you are subscribed to the Google Groups "jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jallib+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/jallib/e985f243-8f06-4532-a148-7ef8bff01d4cn%40googlegroups.com.

Rob CJ

unread,
Oct 18, 2025, 1:02:08 PMOct 18
to jal...@googlegroups.com
Hi Andreas,

Thanks for your feedback. On the jallist Google group the following was suggested, a variant on proposal 1) that it to put blink as well as sample in the rood directory, as follows:
jallib/blink
jallib/compiler
jallib/doc
jallib/lib
jallib/sample

Would that also work for you?

Kind regards,

Rob


Van: 'Andreas Schlögl' via jallib <jal...@googlegroups.com>
Verzonden: zaterdag 18 oktober 2025 18:12
Aan: jal...@googlegroups.com <jal...@googlegroups.com>
Onderwerp: Re: [jallib] Proposal to restructure sample files.
 

Andreas Schlögl

unread,
Oct 18, 2025, 1:51:28 PMOct 18
to jal...@googlegroups.com
Hello Rob,

 I would prefer to see the device files separated from other files if possible, but whatever the final decision will be I can work with.
Thanks,
Andreas

Am 18.10.25 um 19:02 schrieb Rob CJ:
Hi Andreas,

Thanks for your feedback. On the jallist Google group the following was suggested, a variant on proposal 1) that it to put blink as well as sample in the rood directory, as follows:
jallib/blink
jallib/compiler
jallib/doc
jallib/lib
jallib/sample

Would that also work for you?

Kind regards,

Rob


Van: 'Andreas Schlögl' via jallib <jal...@googlegroups.com>
Verzonden: zaterdag 18 oktober 2025 18:12
Aan: jal...@googlegroups.com <jal...@googlegroups.com>
Onderwerp: Re: [jallib] Proposal to restructure sample files.
 
I vote for Proposal 2, as this brings an easy to understand structure!
Thanks Rob,
Andreas

Matthew Schinkel

unread,
Oct 18, 2025, 4:59:12 PMOct 18
to jallib
Hi Rob, I vote for similar #3 but it should be one folder for each sample type. so folders like:

blink
serial_print
large_array
dcf77_decoder_ssd1306
glcd_ssd1306_font
gps_neo_6m_ssd1306_clock

Remember this has to be generated easily without us manually placing. so I figure if you just take for example 18f4620_fat32_small_sd_card.jal and remove the device 18f4620 and .jal from the end, you have the folder name. You can't put it by library name since the sample I suggested would go into folders fat32, sd_card, print, spi and many others.

If we can't agree, just go with #1 for now, it's a good start, but there is no need for the "other" folder.
sample/blink  <-- For all blink samples
sample/  <-- For all other samples

leave device files in the lib folder, since it is a library and we would only want to have to include one folder when compiling like jalv2.exe -s lib

Matt.

pinhe...@gmail.com

unread,
Oct 18, 2025, 5:17:10 PMOct 18
to jallib
Le 18 octobre 2025, à 22:59, Matthew Schinkel <jal...@googlegroups.com> a écrit:
Always avoid creating superfluous folder levels.
In #3, as pointed out by Rob, there will be lots of folders with only one file in them.   With a simple search in windows explorer, you immediately find those files from the sample folder => sub folders in sample are redundant and superfluous 

The same goes for sample/blink compared to a simple blink folder in the root at the same level as sample.

To be honest, this is how I organize the files on my PCs when downloading a new version. 

I only give my opinion,  but the structure I described earlier suits me well and I will keep it, but I will not force anyone.

However, with 3 or 4, I will have to make another script to regroup all files again in one folder. Rob will have a lot of work to do to organize as described in option 3, and I (and maybe other) will also have more work to regroup them in sample. Nonsense....



--
You received this message because you are subscribed to the Google Groups "jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jallib+un...@googlegroups.com.

Rob CJ

unread,
Oct 19, 2025, 4:12:08 AMOct 19
to jallib
Hi all,

I agree with David that we should not have too may folders also because sometimes there is only 1 sample per folder and the number of folders can become so big that you lose oversight. This would narrow down the optiont to two. 

Question remains if we should go for (A, blink in root): 
jallib/blink
jallib/compiler
jallib/doc
jallib/lib
jallib/sample

Or (B, blink in sample):
jallib/compiler
jallib/doc
jallib/lib
jallib/sample/blink
jallib/sample

Personally I like A since the blink folder is meant to provide a starting point for each PIC for which there is a device file and so it is a bit a different kind of sample file (it is a generated sample) and the folder structure is only one level deep (and last but not least it fits with the current structure on GitHub), but if the majority goes for B I am fine with that too.

And the lib directory stays indeed as it is to prevent that you need to include more than one folder.

So should it be A or B? There is no right or wrong here, just a preference.

Thanks.

Kind regads,

Rob





Van: jal...@googlegroups.com <jal...@googlegroups.com> namens pinhe...@gmail.com <pinhe...@gmail.com>
Verzonden: zaterdag 18 oktober 2025 23:17
Aan: jallib <jal...@googlegroups.com>
Onderwerp: Re: [jallib] Re: Proposal to restructure sample files.
 

vsurducan

unread,
Oct 19, 2025, 4:26:05 AMOct 19
to jal...@googlegroups.com

pinhe...@gmail.com

unread,
Oct 19, 2025, 6:30:15 AMOct 19
to jal...@googlegroups.com
Le 19 octobre 2025, à 10:26, vsurducan <jal...@googlegroups.com> a écrit:

A for me too

David 


Bill Beek

unread,
Oct 19, 2025, 10:09:23 AMOct 19
to jallib
Hi All,

Good Idea, for me the preference would be for proposal 3,

to limit the number of directories you can for example make

one directory "Display" with all types of displays in it etc.

 A disadvantage is that a circuit with multiple functions

 e.g. a display and a sensor can be found in two different dirs,

so which will result in more files in total.

Regards, Bill.



Rob CJ

unread,
Oct 19, 2025, 11:57:45 AMOct 19
to jal...@googlegroups.com
Hi Bill,

We thought about it but it makes it bit more difficult to find your sample file if you have a display with keyboard for example and you may run into issues with naming (should CAN be a CAN directory or a BUS directory?)

I did a test splitting things up and now there are about 1800 blink sample files in the 'blink' folder and about 1000 in the sample folder.

Kind regards,

Rob


Van: jal...@googlegroups.com <jal...@googlegroups.com> namens Bill Beek <bill...@gmail.com>
Verzonden: zondag 19 oktober 2025 16:09

Zet Weeh

unread,
Oct 19, 2025, 4:43:32 PMOct 19
to jallib
Hi
I follow the discussions, but usually don't respond.
I find version B the most logical. Newbies don't know what is meant by 'blink a led'.
Version B is much clearer because you immediately see that it is a type of sample.
For me, the other options miss their purpose: it becomes more complicated instead of clearer.
Kind regards
ZetPee

Op zaterdag 18 oktober 2025 om 10:47:06 UTC+2 schreef rob...@hotmail.com:

vasi vasi

unread,
Oct 19, 2025, 11:47:14 PMOct 19
to jal...@googlegroups.com
"In #3, as pointed out by Rob, there will be lots of folders ..."

I got myself out of this, but you know, that in itself (a huge amount of categories) is an amazing advertising for Jalv2 compiler and Jallib project. Period! You guys should know what people are looking for...



--
Vasi

vsurducan

unread,
Oct 20, 2025, 12:07:56 AMOct 20
to jal...@googlegroups.com
Yep, true, but newbies should anyway browse everything to understans things, so actually the folder structure does not count too much. For the guys who are modifying  things should also be easy...

--
You received this message because you are subscribed to the Google Groups "jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jallib+un...@googlegroups.com.

Rob CJ

unread,
Oct 20, 2025, 12:46:28 PMOct 20
to jal...@googlegroups.com
Hello all,

There is Dutch saying 'Er is nog nooit een kok gevonden die koken kan naar alle monden'. Which translates (literally) to 'There has never been a cook that can cook for all mouths'.

So it is difficult to find a solution since everybody has its preferences. I did a small test yesterday on my computer to see if I could easly create the solution as proposed by David. It requires two things:
  1. All blink sample should be in a blink directory on GitHub. Although there is a way to solve this in a script I thought it was already organized like that on GitHub which was not the case (and it gives less work if it was). So I already implemented this structure on GitHub so that I have a quick overview that when I create new blink samples that I see if the number of samples is the same or more (yesterday I discoverd that I am missing some blink samples using the latest script so still work to do there)
  2. It requires a small modification of the Makefile that generates the Jallib package.

I managed to create it, see below. This does not mean that there will never be any change if a proposal is made that everybody likes or we find another way to get a good overview of everything that JAL has to offer. The blink folder contains about 1800 samples and sample folder contains about 1000 samples.


Kind regards,

Rob



Van: jal...@googlegroups.com <jal...@googlegroups.com> namens vsurducan <vsur...@gmail.com>
Verzonden: maandag 20 oktober 2025 06:07
Aan: jal...@googlegroups.com <jal...@googlegroups.com>

Onderwerp: Re: [jallib] Re: Proposal to restructure sample files.

Matt Schinkel

unread,
Oct 21, 2025, 12:12:22 AMOct 21
to jal...@googlegroups.com
Hi, I would just move the blink folder into the sample folder.

Someone said if we organize by sample type, there would be many folders with one sample in it. That statement is true, however there should not be any sample types on only one pic. To me that is a sample that needs to be tested on more devices.



Sent from my Android device.

From: jal...@googlegroups.com <jal...@googlegroups.com> on behalf of Rob CJ <rob...@hotmail.com>
Sent: Monday, October 20, 2025 12:46:23 PM
To: jal...@googlegroups.com <jal...@googlegroups.com>
Subject: Re: [jallib] Re: Proposal to restructure sample files.
 

Rob CJ

unread,
Oct 21, 2025, 1:01:29 PMOct 21
to jal...@googlegroups.com
Hi Matt,

So, you mean?
sample/blink
sample

Then maybe you could also choose for:
sample/bllink - around 1800 samples
sample/jal - around 42 samples 
sample/device  - around 1000 sampes (I mean not PIC devices but internal PIC like spi and adc and external devices like glcd_ssd1306 and hcsr04, etc.)

I do not understand what you mean with the statement you mention. Do you mean if you organize by (PIC) device? There are then indeed a lot of PIC devices with only a blink sample. If you organize by type of device (e.g. wireless, jal, network, adc, spi, etc.) then there would be more than one sample but in some cases it can still be one sample.

When you look on GitHub on type of device, you get ground 60 types where there might be overlap with some of them. 

Kind regards,

Rob



Van: jal...@googlegroups.com <jal...@googlegroups.com> namens Matt Schinkel <mattsc...@hotmail.com>
Verzonden: dinsdag 21 oktober 2025 06:10
You received this message because you are subscribed to a topic in the Google Groups "jallib" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jallib/dGp_CAqTOlk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jallib+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/jallib/MW4PR10MB5882BE5DBB9B782519356B0FDEF2A%40MW4PR10MB5882.namprd10.prod.outlook.com.

Matthew Schinkel

unread,
Oct 21, 2025, 5:19:04 PMOct 21
to jallib
Hi, yes for now just have directories
sample/blink - only blink samples
sample - all other samples

I get what your saying with this now thanks, but I won't know where i would find a sample. these directory names don't tell me much, and some samples may fit into both, like a sample that uses sd_card and crc. CRC is jal, sd_card is device, so which folder would it go into? Also device is misleading as it makes me think of the device includes.
sample/jal
sample/device

I was suggesting:
blink
- all blink samples
large_array
12f617_large_array.jal
- 16f1825_large_array.jal
- 18f14k50_large_array.jal
dcf77_decoder_ssd1306
 - 16f1825_dcf77_decoder_ssd1306.jal

Seems the issue with my solution is that there is only one file in directory dcf77_decoder_ssd1306. But I don't see that it is a problem with the directory structure I suggested, the real problem with the fact that there is only one dcf77_decoder_ssd1306 sample, where there should be at least 2 or more. Seems to me we need to test our samples on more devices. Does anyone disagree here? 

Thanks,
Matt.

Zet Weeh

unread,
Oct 22, 2025, 2:11:46 PMOct 22
to jal...@googlegroups.com
Hi Matt
I read your message.
If I understand well you mean:
sample/large array
and
sample dcf 77
I think thats okay. 
Peter 

Groeten 

Op 21 okt. 2025 om 23:19 heeft Matthew Schinkel <mattsc...@hotmail.com> het volgende geschreven:

Hi, yes for now just have directories
image.png

--

Matthew Schinkel

unread,
Oct 26, 2025, 1:09:11 PM (11 days ago) Oct 26
to jallib
Hi Rob,

Please take this list of samples, and suggest folders they would be kept in. I see a lot are glcd samples, so would they go in a glcd folder? Then again, there are many decoders, so would those ones use a decoder folder? Do gps samples go in the glcd folder or a gps folder? Does gps_neo_6m_ssd1306_clock go into a gps folder, glcd folder or clock folder?
16f1825_dcf77_decoder_serial.jal
16f1825_dcf77_decoder_ssd1306.jal
16f1825_glcd_ssd1306_font.jal
16f1825_gps_neo_6m_serial.jal
16f1825_gps_neo_6m_ssd1306_clock.jal
16f1825_nec_rc_decoder_ssd1306.jal
16f18857_nec_rc_decoder_serial.jal
16f1825_philips_rc_decoder_ssd1306.jal
16f18857_glcd_ssd1306_font_graphics.jal

As a user looking for 16f1825_gps_neo_6m_ssd1306_clock.jal, I'd have to look in 3 folders (gps, glcd, clock) to find the sample. The only folder name that makes sense for that one is gps_neo_6m_ssd1306_clock

Matt.

pinhe...@gmail.com

unread,
Oct 26, 2025, 1:32:10 PM (11 days ago) Oct 26
to jallib
Hi all,

Why not just reconsider the initial goal, which was to simplify things ?

Under Linux as under Windows as well, you just type, for example, " dcf77" in the search field of the file explorer, and you get all relevant files, since that "search" works in fact as a filter.

That way, you keep the two folders mentioned before:
samples
blink

And the packaging process remains much much simplier.

Do not forget that in your proposal, you (Rob) have to modify the packaging script each time you add a sample for a new device.

That is not simplification,  IMHO....

Just my 2c

David 


Rob CJ

unread,
Oct 27, 2025, 1:51:36 PM (10 days ago) Oct 27
to jallib
Hi all,

After some discussion I will go for the proposal of Matt, move the blink samples is a separate folder of the sample directory, so:
sample/blink
sample   (for all other samples)

I did some work on this but before it can be released there is still a Python torelease.py script to be changed since it would not work right with this change.

Kind regards,

Rob


Van: jal...@googlegroups.com <jal...@googlegroups.com> namens pinhe...@gmail.com <pinhe...@gmail.com>
Verzonden: zondag 26 oktober 2025 18:31
Aan: jallib <jal...@googlegroups.com>
Reply all
Reply to author
Forward
0 new messages