Lib-electronic-components cui

CUI Devices Manufacturer Handler Skill

install
source · Clone the upstream repo
git clone https://github.com/Cantara/lib-electronic-components
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Cantara/lib-electronic-components "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/manufacturers/cui" ~/.claude/skills/cantara-lib-electronic-components-cui && rm -rf "$T"
manifest: .claude/skills/manufacturers/cui/SKILL.md
source content

CUI Devices Manufacturer Handler Skill

Overview

CUIHandler manages CUI Devices components including audio connectors, power jacks, buzzers, speakers, and encoders.

Supported Component Types

  • CONNECTOR
  • AUDIO_JACK
  • SPEAKER
  • BUZZER
  • ENCODER

MPN Patterns

SJ Series (3.5mm Audio Jacks)

PatternDescription
SJ1-3523N3.5mm audio jack, vertical, SPST
SJ1-3525N3.5mm audio jack, with switch
SJ2-xxxxAlternative audio jack series

PJ Series (DC Power Jacks)

PatternDescription
PJ-002ADC power jack, 2.0mm
PJ-102ADC power jack, 2.5mm
PJ-xxxAHHorizontal mount variant

CMI Series (Magnetic Buzzers)

PatternDescription
CMI-SIZE-IMPEDANCESIZE = diameter in mm (first 2 digits), IMPEDANCE = ohms
CMI-1295-85T12mm, 85 ohms, terminal type
CMI-0905-45T9mm, 45 ohms, terminal type

CMS Series (Speakers)

PatternDescription
CMS-SIZE-IMPEDANCESIZE = diameter (first 2 digits), IMPEDANCE = ohms
CMS-15118-78P15mm, 78 ohms, PCB mount
CMS-2011-45P20mm, 45 ohms, PCB mount

CPE/CPT Series (Piezo Buzzers/Transducers)

PatternDescription
CPE-825PPiezo buzzer
CPT-2014-65Piezo transducer

AMT Series (Modular Encoders)

PatternDescription
AMT102-VIncremental encoder, 102 PPR, vertical
AMT103-VIncremental encoder, 103 series
AMT10E-VEncoder variant
AMT112Q-VEncoder with quadrature output

ACZ Series (Rotary Encoders)

PatternDescription
ACZ11BR1E-20FA1-24CRotary encoder with switch
ACZ16NBRD-15ETG16mm rotary encoder

Package Code Extraction

  • SJ series: Returns suffix letter(s) (N, NR, NC, etc.)
  • PJ series: Returns suffix letter(s) (A, AH, B, etc.)
  • CMI/CMS: Returns last letter (T for terminal, P for PCB)
  • AMT series: Returns suffix after dash (V for vertical)

Series Extraction

MPNExtracted Series
SJ1-3523NSJ1
PJ-002APJ
CMI-1295-85TCMI
CMS-15118-78PCMS
AMT102-VAMT102
ACZ11BR1EACZ11

Helper Methods

  • isAudioConnector(mpn)
    - Returns true for SJ series
  • isPowerConnector(mpn)
    - Returns true for PJ series
  • isBuzzer(mpn)
    - Returns true for CMI, CPE, CPT series
  • isSpeaker(mpn)
    - Returns true for CMS series
  • isEncoder(mpn)
    - Returns true for AMT, ACZ series
  • getProductFamily(mpn)
    - Returns family description
  • getMountingType(mpn)
    - Returns mounting type (Vertical, SMT, etc.)
  • getTransducerSizeMm(mpn)
    - Returns diameter in mm for buzzers/speakers
  • getImpedanceOhms(mpn)
    - Returns impedance in ohms for buzzers/speakers

Replacement Logic

  • Audio jacks: Same connector number (middle section) required
  • Encoders: Same series including resolution number required
  • Transducers: Same size AND impedance required
  • Cross-series replacement not allowed

Test Patterns

When testing CUIHandler:

  1. Use assertions for
    matches()
    with CONNECTOR, AUDIO_JACK, SPEAKER, BUZZER, ENCODER types
  2. Use assertions for
    extractPackageCode()
    ,
    extractSeries()
  3. Test helper methods for classification
  4. Instantiate directly:
    new CUIHandler()

Real-World MPN Examples

MPNTypeDescription
SJ1-3523NAudio Jack3.5mm stereo jack, vertical PCB
SJ1-3525NAudio Jack3.5mm jack with switch
PJ-002APower JackDC barrel jack, 2.0mm ID
CMS-15118-78PSpeaker15mm speaker, 8 ohm
CMI-1295-85TBuzzer12mm magnetic buzzer
AMT102-VEncoderModular incremental encoder

Known Handler Issues

No known issues - handler created fresh

Learnings & Quirks

MPN Format Patterns

  • SJ series uses format: SJx-xxxxY where x=series, xxxx=type code, Y=mount suffix
  • CMI/CMS series encode size in first 2 digits of first number group
  • AMT series embeds resolution in series number (AMT102 = 102 PPR base)
  • ACZ series numbers indicate mechanical size

Package Code Meanings

CodeMeaning
NVertical/PCB mount
NRVertical with nut/retention
ASurface mount
AHSurface mount horizontal
TTerminal type
PPCB mount
VVertical
HHorizontal
<!-- Add new learnings above this line -->