1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-12-23 20:53:21 +02:00
eda-tools/boom/manu/stackpole/stackpole.gen
Werner Almesberger 2744057e98 Avoid leading zeroes in resistance and capacitance values (except 0R)
- boom/lib/e12.inc: several rules produces mal-formed results with leading
  zeroes
- boom/manu/Makefile.common (spotless): added new target to remove
  $(NAME).chr
- boom/manu/Makefile.common (MALFORMED): test for leading zeroes, allowing
  only 0R as an exception
- boom/manu/stackpole/stackpole.gen: catch values < 1 R and convert them
  to mR
2010-10-18 17:23:19 -03:00

57 lines
1.3 KiB
Plaintext

#GEN
# http://www.seielect.com/Catalog/SEI-RMC.pdf
RMCF* -> T=R {
RMCF(????)(?)(?)([0-9R][0-9RKM][0-9RKM][0-9RKM]) ->
FP=$REF:1 _TOL=$REF:2 _R=$REF:4
include ../../lib/rtol.inc
# all TC are worst case
FP=0201 -> P=1/20W V=25V TC=600ppm/K
FP=0402 -> P=1/16W V=50V TC=500ppm/K
FP=0603 -> P=1/10W V=50V TC=600ppm/K
FP=0805 -> P=1/8W V=150V TC=500ppm/K
FP=1206 -> P=1/4W V=200V TC=500ppm/K
FP=1210 -> P=1/3W V=200V TC=400ppm/K
FP=2010 -> P=3/4W V=200V TC=500ppm/K
FP=2512 -> P=1W V=200V TC=500ppm/K
}
# http://www.seielect.com/catalog/SEI-RNCP.pdf
#
# Updated to new numbers with a bit of guesswork.
#
RNCP* -> T=R {
RNCP(????)(?)(??)([0-9R][0-9RKM][0-9RKM][0-9RKM]) ->
FP=$REF:1 _TOL=$REF:2 _R=$REF:4
include ../../lib/rtol.inc
FP=0402 -> P=1/10W V=50V TC=100ppm/K
FP=0603 -> P=1/8W V=150V TC=100ppm/K
FP=0805 -> P=1/4W V=200V TC=100ppm/K
FP=1206 -> P=1/2W V=200V TC=100ppm/K
}
# Adjust multipliers
_R=R(???) -> _R=${_R:1}m
_R=(*)R(*) -> _R=0$_R:1.$_R:2
_R=(*)K(*) -> _R=$_R:1.${_R:2}k
_R=(*)M(*) -> _R=$_R:1.${_R:2}M
# Remove leading and trailing zeroes
_R=0([0-9]*) -> _R=$_R:1
_R=(*.[0-9]*)0([kM]) -> _R=$_R:1$_R:2
_R=(*).0([kM]) -> _R=$_R:1$_R:2
_R=(*.[0-9]*)0 -> _R=$_R:1
_R=(*).0 -> _R=$_R:1
_R=(*).([kM]|) -> _R=$_R:1$_R:2
T=R -> R=${_R}R !