Mailing list archives : pcb-rnd

ID:6182
From:rn...@igor2.repo.hu
Date:Mon, 25 Sep 2023 05:46:01 +0200 (CEST)
Subject:[pcb-rnd] new: sch-rnd funcmap for handling alternate function mappings of pins
replies: 6183 from Majenko Technologies <ma...@majenko.co.uk>
Hi all,
 
we have a nice new feature in sch-rnd for solving the common problem of 
modern MCUs/CPUs having many alternate functions mapped on the same pin. 
The problems this system solves are:
 
- sch-rnd being able to remember and present the mapping, per port ("pin") 
or per component
 
- be able to display the relevant function on the drawing, so instead of 
having to have long terminal labels listing all functions (like 
attiny24's PA0/PCINT0/AREF/ADC0) you can get sch-rnd to display only the 
relevant function and this is updated automatically as you change function 
selection
 
- GUI and CLI to select functionality per port (presenting the avialabel 
functions for the given port)
 
- GUI and CLI to select functionality per component (presenting a table of 
functions per port, also representing function groups)
 
- configurable grouping of functionality, so that sch-rnd understands 
that MISO, MOSI and SCK makes up the SPI; weak and strong grouping
 
- you can select and enable a function group; e.g. you can say you want 
SPI enabled and it goes and sets the port functionality to MISO, MOSI, SCK 
on the 3 affected ports in one go
 
- all function change operations are undoable; this together with the per 
component table GUI representation may make sch-rnd a good tool for the 
"sokoban" in the initial phase of design with small pin count MCU figuring 
how to spend pins
 
- a DRC function to ensure strong groups have all ports or no port 
enabled; with this it is possible to make sure you either enable SPI or 
disable it but you won't end up in a situation that MISO and MOSI is 
selected but SCK isn't.
 
- funcmaps are like devmaps, they can be written once and stored in 
libraries; sheets using funcmap are still self-contained and portable 
(fucnmaps cached locally within the sheet local lib, just like devmaps)
 
Note: the system tries to handle the common case, which is assigning a 
function to a port for a given circuit. For example in some cases the 
firmware switches port functionality on the fly. This system doesn't try 
to handle that special case directly. You can either leave those ports on 
their generic GPIO functionality or pick their primary function with 
funcmap and in both cases just write a text comment about the firmware 
doing function reconfig runtime.
 
 
We have detailed documentation on the file format and actions and 
GUI usage:
 
http://repo.hu/projects/sch-rnd/user/06_features/funcmap/
 
The new feature is available in svn HEAD, to be released in about a month 
from now. Please test and report bugs.
 
This subproject is on the wishlist as item W13, submitted by Wojciech. It 
was submitted in the most recent call for wishlist items, in January. 
 
If you are actively using Ringdove and have some largish feature request 
to speed up your daily work, even if the feature needs code across 
different executables in Ringdove, don't hesitate to nominate it to the 
wishlist!
 
This subproject is supported by nlnet.
 
 
Best regards,
 
Igor2
 
 
 

Reply subtree:
6182 [pcb-rnd] new: sch-rnd funcmap for handling alternate function mappings of pins from rn...@igor2.repo.hu
  6183 Re: [pcb-rnd] new: sch-rnd funcmap for handling alternate function from Majenko Technologies <ma...@majenko.co.uk>
    6184 Re: [pcb-rnd] new: sch-rnd funcmap for handling alternate function from Majenko Technologies <ma...@majenko.co.uk>
    6185 Re: [pcb-rnd] new: sch-rnd funcmap for handling alternate function from rn...@igor2.repo.hu
      6186 Re: [pcb-rnd] new: sch-rnd funcmap for handling alternate function from Majenko Technologies <ma...@majenko.co.uk>
        6187 Re: [pcb-rnd] new: sch-rnd funcmap for handling alternate function from rn...@igor2.repo.hu
          6188 Re: [pcb-rnd] new: sch-rnd funcmap for handling alternate function from Majenko Technologies <ma...@majenko.co.uk>