config.h 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673
  1. /* ************************************************************************
  2. *
  3. * global configuration, setup and settings
  4. *
  5. * (c) 2012-2020 by Markus Reschke
  6. * based on code from Markus Frejek and Karl-Heinz K�bbeler
  7. *
  8. * ************************************************************************ */
  9. /* source management */
  10. #define CONFIG_H
  11. /*
  12. * For MCU specific settings (port and pin assignments) and display
  13. * settings please edit also:
  14. * - ATmega328: config_328.h
  15. * - ATmega324/644/1284: config_644.h
  16. * - ATmega640/1280/2560: config_1280.h
  17. */
  18. /* ************************************************************************
  19. * Hardware options
  20. * ************************************************************************ */
  21. /*
  22. * rotary encoder for user interface
  23. * - default pins: PD2 & PD3 (ATmega 328)
  24. * - could be in parallel with LCD module
  25. * - see ENCODER_PORT in config-<MCU>.h for port pins
  26. * - uncomment to enable and also set ENCODER_PULSES & ENCODER_STEPS below
  27. * to match your rotary encoder
  28. */
  29. #define HW_ENCODER
  30. /*
  31. * Number of Gray code pulses per step or detent for the rotary encoder
  32. * - typical values: 2 or 4, rarely 1
  33. * - a rotary encoder's pulse is the complete sequence of 4 Gray code pulses
  34. * - adjust value to match your rotary encoder
  35. */
  36. #define ENCODER_PULSES 4
  37. /*
  38. * Number of detents or steps
  39. * - this is used by the detection of the rotary encoder's turning velocity
  40. * - it doesn't have to match exactly and also allows you to finetune the
  41. * the feedback (higher: slow down, lower: speed up)
  42. * - typical values: 20, 24 or 30
  43. * - adjust value to match your rotary encoder
  44. */
  45. #define ENCODER_STEPS 20
  46. /*
  47. * increase/decrease push buttons for user interface
  48. * - alternative for rotary encoder
  49. * - see KEY_PORT in config-<MCU>.h for port pins
  50. * - uncomment to enable
  51. */
  52. //#define HW_INCDEC_KEYS
  53. /*
  54. * 2.5V voltage reference for Vcc check
  55. * - default pin: PC4 (ATmega 328)
  56. * - should be at least 10 times more precise than the voltage regulator
  57. * - see TP_REF in config-<MCU>.h for port pin
  58. * - uncomment to enable and also adjust UREF_25 below for your voltage
  59. * reference
  60. */
  61. //#define HW_REF25 // Disabled because of MCP1702
  62. /*
  63. * Typical voltage of 2.5V voltage reference (in mV)
  64. * - see datasheet of the voltage reference
  65. * - or use >= 5.5 digit DMM to measure the voltage
  66. */
  67. #define UREF_25 2495
  68. /*
  69. * Probe protection relay for discharging caps
  70. * - default pin: PC4 (ATmega 328)
  71. * - low signal: short circuit probe pins
  72. * high signal via external reference: remove short circuit
  73. * - see TP_REF in config_<MCU>.h for port pin
  74. * - uncomment to enable
  75. */
  76. //#define HW_DISCHARGE_RELAY
  77. /*
  78. * Zener check / voltage measurement up to 50V DC
  79. * - default pin: PC3 (ATmega 328)
  80. * - 10:1 voltage divider
  81. * - DC-DC boost converter controled by test push button
  82. * - see TP_ZENER in config_<MCU>.h for port pin
  83. * - uncomment to enable
  84. */
  85. #define HW_ZENER
  86. /*
  87. * alternative mode for Zener check: don't switch boost converter
  88. * - when the DC-DC boost converter runs all the time
  89. * - when measuring an external voltage (circuit without boost converter)
  90. * - uncomment to enable
  91. */
  92. //#define ZENER_UNSWITCHED
  93. /*
  94. * high resolution for Zener check
  95. * - 10mV instead of 0.1V
  96. * - uncomment to enable
  97. */
  98. #define ZENER_HIGH_RES
  99. /*
  100. * fixed signal output
  101. * - in case the MCU's OC1B pin is wired as dedicated signal output
  102. * instead of driving the Rl probe resistor for test pin #2
  103. * - uncomment to enable
  104. */
  105. //#define HW_FIXED_SIGNAL_OUTPUT
  106. /*
  107. * basic frequency counter
  108. * - default pin: T0 (PD4 ATmega 328)
  109. * - uses T0 directly as frequency input
  110. * - counts up to 1/4 of MCU clock rate
  111. * - might be in parallel with LCD module
  112. * - uncomment to enable
  113. */
  114. #define HW_FREQ_COUNTER_BASIC
  115. /*
  116. * extended frequency counter
  117. * - low and high frequency crystal oscillators
  118. * and buffered frequency input
  119. * - prescalers 1:1 and 16:1 (32:1)
  120. * - uses T0 directly as frequency input
  121. * - see COUNTER_CTRL_PORT in config-<MCU>.h for port pins
  122. * - requires a display with more than 2 text lines
  123. * - uncomment to enable
  124. * - select the circuit's prescaler setting: either 16:1 or 32:1
  125. */
  126. //#define HW_FREQ_COUNTER_EXT
  127. #define FREQ_COUNTER_PRESCALER 16 /* 16:1 */
  128. //#define FREQ_COUNTER_PRESCALER 32 /* 32:1 */
  129. /*
  130. * event counter
  131. * - default pin: T0 (PD4 ATmega 328)
  132. * - uses T0 directly as event/pulse input (rising edge)
  133. * - no shared operation with displays possible for T0
  134. * - requires additional keys (e.g. rotary encoder) and a display with
  135. * more than 5 lines
  136. * - only for MCU clock of 8, 16 or 20MHz
  137. * - uncomment to enable
  138. */
  139. //#define HW_EVENT_COUNTER
  140. /*
  141. * trigger output for event counter
  142. * - uses probe #2 as trigger output, probes #1 and #3 are Gnd
  143. * - sets trigger output to high while counting
  144. * - uncomment to enable
  145. */
  146. //#define EVENT_COUNTER_TRIGGER_OUT
  147. /*
  148. * IR remote control detection/decoder (via dedicated MCU pin)
  149. * - requires IR receiver module, e.g. TSOP series
  150. * - module is connected to fixed I/O pin
  151. * - see IR_PORT in config-<MCU>.h for port pin
  152. * - uncomment to enable
  153. * - for additional protocols also enable SW_IR_RX_EXTRA
  154. */
  155. //#define HW_IR_RECEIVER
  156. /*
  157. * fixed cap for self-adjustment
  158. * - see TP_CAP and ADJUST_PORT in config-<MCU>.h for port pins
  159. * - uncomment to enable
  160. */
  161. //#define HW_ADJUST_CAP
  162. /*
  163. * L/C meter hardware option
  164. * - uses T0 directly as frequency input
  165. * - see LC_CTRL_PORT in config-<MCU>.h for port pins
  166. * - uncomment to enable
  167. */
  168. //#define HW_LC_METER
  169. /*
  170. * L/C meter: value of reference capacitor C_p (in 0.1 pF)
  171. * - should be around 1000pF
  172. */
  173. #define LC_METER_C_REF 10000
  174. /*
  175. * L/C meter: also display frequency of LC oscillator
  176. * - helps to spot the oscillator's frequency drifting
  177. * - requires display with more than two text lines
  178. * - uncomment to enable
  179. */
  180. //#define LC_METER_SHOW_FREQ
  181. /*
  182. * relay for parallel cap (sampling ADC)
  183. * - uncomment to enable (not implemented yet)
  184. */
  185. //#define HW_CAP_RELAY
  186. /* ************************************************************************
  187. * software options
  188. * ************************************************************************ */
  189. /*
  190. * PWM generator with simple user interface
  191. * - signal output via OC1B
  192. * - uncomment to enable
  193. */
  194. #define SW_PWM_SIMPLE
  195. /*
  196. * PWM generator with fancy user interface
  197. * - signal output via OC1B
  198. * - requires additional keys and display with more than 2 text lines
  199. * - uncomment to enable
  200. */
  201. //#define SW_PWM_PLUS
  202. /*
  203. * Inductance measurement
  204. * - uncomment to enable
  205. */
  206. #define SW_INDUCTOR
  207. /*
  208. * ESR measurement
  209. * - requires MCU clock >= 8 MHz
  210. * - choose SW_OLD_ESR for old method starting at 180nF
  211. * - uncomment to enable
  212. */
  213. #define SW_ESR
  214. //#define SW_OLD_ESR
  215. /*
  216. * ESR Tool (in-circuit ESR measurement)
  217. * - requires SW_ESR or SW_OLD_ESR to be enabled
  218. * - uncomment to enable
  219. */
  220. //#define SW_ESR_TOOL
  221. /*
  222. * check for rotary encoders
  223. * - uncomment to enable
  224. */
  225. //#define SW_ENCODER
  226. /*
  227. * squarewave signal generator
  228. * - signal output via OC1B
  229. * - requires additional keys
  230. * - uncomment to enable
  231. */
  232. #define SW_SQUAREWAVE
  233. /*
  234. * IR remote control detection/decoder (via probes)
  235. * - requires IR receiver module, e.g. TSOP series
  236. * - module will be connected to probe leads
  237. * - uncomment to enable
  238. */
  239. //#define SW_IR_RECEIVER // Disabled to be able to fit in memory
  240. /*
  241. * current limiting resistor for IR receiver module
  242. * - for 5V only modules
  243. * - Warning: any short circuit may destroy your MCU
  244. * - uncomment to disable resistor
  245. */
  246. //#define SW_IR_DISABLE_RESISTOR
  247. /*
  248. * additional protocols for IR remote control detection/decoder
  249. * - uncommon protocols which will increase flash memory usage ;)
  250. * - uncomment to enable
  251. */
  252. //#define SW_IR_RX_EXTRA
  253. /*
  254. * IR remote control sender
  255. * - signal output via OC1B
  256. * - requires additional keys and display with more than 4 text lines
  257. * - also requires an IR LED with a simple driver
  258. * - uncomment to enable
  259. */
  260. //#define SW_IR_TRANSMITTER
  261. /*
  262. * Alternative delay loop for IR remote control sender
  263. * - in case the the C compiler screws up the default delay loop
  264. * and causes incorrect pulse/pause timings
  265. * - uncomment to enable
  266. */
  267. //#define SW_IR_TX_ALTDELAY
  268. /*
  269. * additional protocols for IR remote control sender
  270. * - uncommon protocols which will increase flash memory usage ;)
  271. * - uncomment to enable
  272. */
  273. //#define SW_IR_TX_EXTRA
  274. /*
  275. * check for opto couplers
  276. * - uncomment to enable
  277. */
  278. #define SW_OPTO_COUPLER
  279. /*
  280. * check for Unijunction Transistor
  281. * - uncomment to enable
  282. */
  283. #define SW_UJT
  284. /*
  285. * check for Schottky Transistor (Schottky-clamped BJT)
  286. * - uncomment to enable
  287. */
  288. #define SW_SCHOTTKY_BJT
  289. /*
  290. * Servo Check
  291. * - signal output via OC1B
  292. * - requires additional keys and display with more than 2 text lines
  293. * - uncomment to enable
  294. */
  295. //#define SW_SERVO
  296. /*
  297. * DS18B20 - OneWire temperature sensor
  298. * - uncomment to enable
  299. * - also enable ONEWIRE_PROBES or ONEWIRE_IO_PIN (see section 'Busses')
  300. */
  301. //#define SW_DS18B20
  302. /*
  303. * OneWire: read and display ROM code
  304. * - option for OneWire related tools
  305. * - requires display with more than 2 text lines
  306. * - uncomment to enable
  307. */
  308. //#define ONEWIRE_READ_ROM
  309. /*
  310. * scan OneWire bus for devices and list their ROM codes
  311. * - requires display with more than 2 text lines
  312. * - uncomment to enable
  313. * - also enable ONEWIRE_PROBES or ONEWIRE_IO_PIN (see section 'Busses')
  314. */
  315. //#define SW_ONEWIRE_SCAN
  316. /*
  317. * capacitor leakage check
  318. * - requires display with more than two lines
  319. * - uncomment to enable
  320. */
  321. //#define SW_CAP_LEAKAGE
  322. /*
  323. * display reverse hFE for BJTs
  324. * - hFE for collector and emitter reversed
  325. * - uncomment to enable
  326. */
  327. //#define SW_REVERSE_HFE
  328. /*
  329. * display I_C/I_E test current for hFE measurement
  330. * - I_C for common emitter circuit
  331. * I_E for common collector circuit
  332. * - uncomment to enable
  333. */
  334. //#define SW_HFE_CURRENT
  335. /*
  336. * R/C/L monitors
  337. * - monitor passive components connected to probes #1 and #3
  338. * - monitors for L require SW_INDUCTOR to be enabled
  339. * - for ESR either SW_ESR or SW_OLD_ESR needs to be enabled
  340. * - uncomment to enable (one or more)
  341. */
  342. //#define SW_MONITOR_R /* just R */
  343. //#define SW_MONITOR_C /* just C plus ESR */
  344. //#define SW_MONITOR_L /* just L */
  345. //#define SW_MONITOR_RCL /* R plus L, or C plus ESR */
  346. //#define SW_MONITOR_RL /* R plus L */
  347. /*
  348. * DHT11, DHT22 and compatible humidity & temperature sensors
  349. * - uncomment to enable
  350. */
  351. //#define SW_DHTXX
  352. /*
  353. * display font for test purposes
  354. * - uncomment to enable
  355. */
  356. //#define SW_FONT_TEST
  357. /*
  358. * check resistor for matching E series norm value
  359. * - requires a display with more than 2 text lines
  360. * - color-code mode requires a color graphics display
  361. * - uncomment to enable (one or more)
  362. */
  363. //#define SW_R_E24_5_T /* E24 5% tolerance, text */
  364. //#define SW_R_E24_5_CC /* E24 5% tolerance, color-code */
  365. //#define SW_R_E24_1_T /* E24 1% tolerance, text */
  366. //#define SW_R_E24_1_CC /* E24 1% tolerance, color-code */
  367. //#define SW_R_E96_T /* E96 1% tolerance, text */
  368. //#define SW_R_E96_CC /* E96 1% tolerance, color-code */
  369. /*
  370. * check capacitor for matching E series norm value
  371. * - requires a display with more than 2 text lines
  372. * - uncomment to enable (one or more)
  373. */
  374. //#define SW_C_E6_T /* E6 20% tolerance, text */
  375. //#define SW_C_E12_T /* E12 10% tolerance, text */
  376. /*
  377. * check inductor for matching E series norm value
  378. * - requires a display with more than 2 text lines
  379. * - uncomment to enable (one or more)
  380. */
  381. //#define SW_L_E6_T /* E6 20% tolerance, text */
  382. //#define SW_L_E12_T /* E12 10% tolerance, text */
  383. /* ************************************************************************
  384. * workarounds for some testers
  385. * ************************************************************************ */
  386. /*
  387. * Disable hFE measurement with common collector circuit and Rl as
  388. * base resistor.
  389. * - problem:
  390. * hFE values are way too high.
  391. * - affected testers:
  392. * Hiland M644 (under investigation)
  393. * - uncomment to enable
  394. */
  395. //#define NO_HFE_C_RL
  396. /* ************************************************************************
  397. * workarounds for some IDEs
  398. * ************************************************************************ */
  399. /*
  400. * Oscillator startup cycles (after wakeup from power-safe mode):
  401. * - typical values
  402. * - internal RC: 6
  403. * - full swing crystal: 16384 (also 256 or 1024 based on fuse settings)
  404. * - low power crystal: 16384 (also 256 or 1024 based on fuse settings)
  405. * - Please change value if it doesn't match your tester!
  406. */
  407. #ifndef OSC_STARTUP
  408. #define OSC_STARTUP 16384
  409. #endif
  410. /* ************************************************************************
  411. * user interface
  412. * ************************************************************************ */
  413. /*
  414. * Language of user interface. Available languages:
  415. * - English (default)
  416. * - Czech (based on ISO 8859-1)
  417. * - Czech 2 (with Czech characters based on ISO 8859-2)
  418. * - Danish
  419. * - German
  420. * - Polish (based on ISO 8859-1)
  421. * - Polish 2 (with Polish characters based on ISO 8859-2)
  422. * - Spanish
  423. * - Romanian
  424. * - Russian (with cyrillic characters based on Windows-1251)
  425. * - Russian 2 (with cyrillic characters based on Windows-1251)
  426. */
  427. #define UI_ENGLISH
  428. //#define UI_CZECH
  429. //#define UI_CZECH_2
  430. //#define UI_DANISH
  431. //#define UI_GERMAN
  432. //#define UI_ITALIAN
  433. //#define UI_POLISH
  434. //#define UI_POLISH_2
  435. //#define UI_ROMANIAN
  436. //#define UI_RUSSIAN
  437. //#define UI_RUSSIAN_2
  438. //#define UI_SPANISH
  439. /*
  440. * Use comma instead of dot to indicate a decimal fraction.
  441. * - uncomment to enable
  442. */
  443. //#define UI_COMMA
  444. /*
  445. * Display temperatures in Fahrenheit instead of Celsius.
  446. * - uncomment to enable
  447. */
  448. //#define UI_FAHRENHEIT
  449. /*
  450. * Display hexadecimal values in uppercase instead of lowercase
  451. * - uncomment to enable
  452. */
  453. //#define UI_HEX_UPPERCASE
  454. /*
  455. * Set the default operation mode to auto-hold.
  456. * - instead of continous mode
  457. * - uncomment to enable
  458. */
  459. #define UI_AUTOHOLD
  460. /*
  461. * Trigger the menu also by a short circuit of all three probes.
  462. * - former default behaviour
  463. * - uncomment to enable
  464. */
  465. //#define UI_SHORT_CIRCUIT_MENU
  466. /*
  467. * Show key hints instead of cursor if available.
  468. * - currently only "Menu/Test"
  469. * - requires additional keys and display with a sufficient number of
  470. * text lines (recommended: >= 8 lines)
  471. * - uncomment to enable
  472. */
  473. //#define UI_KEY_HINTS
  474. /*
  475. * Enter menu to select adjustment profile after powering on.
  476. * - uncomment to enable
  477. */
  478. //#define UI_CHOOSE_PROFILE
  479. /*
  480. * Output components found also via TTL serial interface.
  481. * - uncomment to enable
  482. * - also enable SERIAL_BITBANG or SERIAL_HARDWARE (see section 'Busses')
  483. */
  484. //#define UI_SERIAL_COPY
  485. /*
  486. * Control tester via TTL serial interface.
  487. * - uncomment to enable
  488. * - also enable SERIAL_BITBANG or SERIAL_HARDWARE, plus SERIAL_RW
  489. * (see section 'Busses')
  490. */
  491. //#define UI_SERIAL_COMMANDS
  492. /*
  493. * Maximum time to wait after probing (in ms).
  494. * - applies to continuous mode only
  495. * - Time between printing the result and starting a new probing cycle.
  496. */
  497. #define CYCLE_DELAY 3000
  498. /*
  499. * Maximum number of probing runs without any component found in a row.
  500. * - applies to continuous mode only
  501. * - If this number is reached the tester will power off.
  502. * - When set to zero the tester will run only once and turn off
  503. * after CYCLE_DELAY.
  504. * - When set to 255 this feature will be disabled and the tester runs
  505. * until it's powered off manually.
  506. */
  507. #define CYCLE_MAX 5
  508. /*
  509. * Automatic power-off when no button is pressed for a while (in s).
  510. * - applies to auto-hold mode only
  511. * - uncomment to enable, also adjust timeout (in s)
  512. */
  513. #define POWER_OFF_TIMEOUT 60
  514. /*
  515. * component symbols for fancy pinout
  516. * - for 3-pin semiconductors
  517. * - requires graphics display and symbol bitmap
  518. * - uncomment to enable
  519. */
  520. #define SW_SYMBOLS
  521. /*
  522. * color coding for probes
  523. * - requires color graphics LCD
  524. * - uncomment to enable
  525. * - edit colors.h to select correct probe colors
  526. */
  527. #define SW_PROBE_COLORS
  528. /*
  529. * main menu: power off tester
  530. * - uncomment to enable
  531. */
  532. #define SW_POWER_OFF
  533. /*
  534. * Round some values if appropriate.
  535. * - for
  536. * - DS18B20 (0.1 �C/F)
  537. * - uncomment to enable
  538. */
  539. //#define UI_ROUND_DS18B20
  540. /*
  541. * storage of firmware data (texts, tables etc)
  542. * - self-adjustment data is always stored in EEPROM
  543. * - fonts and symbols are always stored in Flash
  544. * - uncomment one
  545. */
  546. #define DATA_EEPROM /* store data in EEPROM */
  547. //#define DATA_FLASH /* store data in Flash */
  548. /* ************************************************************************
  549. * power management
  550. * ************************************************************************ */
  551. /*
  552. * type of power switch
  553. * - soft-latching power switch (default)
  554. * - as in the tester's reference circuit
  555. * - tester is able to power itself off
  556. * - manual power switch
  557. * - tester isn't able to power itself off
  558. * - enable one
  559. */
  560. #define POWER_SWITCH_SOFT
  561. //#define POWER_SWITCH_MANUAL
  562. /*
  563. * Battery monitoring mode:
  564. * - BAT_NONE disable battery monitoring completely
  565. * - BAT_DIRECT direct measurement of battary voltage (< 5V)
  566. * - BAT_DIVIDER measurement via voltage divider
  567. * - uncomment one of the modes
  568. */
  569. //#define BAT_NONE
  570. //#define BAT_DIRECT
  571. #define BAT_DIVIDER
  572. /*
  573. * Unmonitored optional external power supply
  574. * - Some circuits supporting an additional external power supply are designed
  575. * in a way that prevents the battery monitoring to measure the voltage of
  576. * the external power supply. This would trigger the low battery shut-down.
  577. * The switch below will prevent the shut-down when the measured voltage is
  578. * below 0.9V (caused by the diode's leakage current).
  579. * - uncomment to enable
  580. */
  581. //#define BAT_EXT_UNMONITORED
  582. /*
  583. * Voltage divider for battery monitoring
  584. * - BAT_R1: top resistor in Ohms
  585. * - BAT_R2: bottom resistor in Ohms
  586. */
  587. #define BAT_R1 10000
  588. #define BAT_R2 3300
  589. /*
  590. * Voltage drop by reverse voltage protection diode and power management
  591. * transistor (in mV):
  592. * - or any other circuitry in the power section
  593. * - Get your DMM and measure the voltage drop!
  594. * - Schottky diode about 200mV / PNP BJT about 100mV.
  595. */
  596. #define BAT_OFFSET 290
  597. /*
  598. * Battery weak voltage (in mV).
  599. * - Tester warns if BAT_WEAK is reached.
  600. * - Voltage drop BAT_OFFSET is considered in calculation.
  601. */
  602. #define BAT_WEAK 7400
  603. /*
  604. * Battery low voltage (in mV).
  605. * - Tester powers off if BAT_LOW is reached.
  606. * - Voltage drop BAT_OFFSET is considered in calculation.
  607. */
  608. #define BAT_LOW 6400
  609. /*
  610. * Enter sleep mode when idle to save power.
  611. * - uncomment to enable
  612. */
  613. #define SAVE_POWER
  614. /* ************************************************************************
  615. * measurement settings and offsets
  616. * ************************************************************************ */
  617. /*
  618. * ADC voltage reference based on Vcc (in mV).
  619. */
  620. #define UREF_VCC 5001
  621. /*
  622. * Offset for the internal bandgap voltage reference (in mV): -100 up to 100
  623. * - To compensate any difference between real value and measured value.
  624. * - The ADC has a resolution of about 4.88mV for V_ref = 5V (Vcc) and
  625. * 1.07mV for V_ref = 1.1V (bandgap).
  626. * - Will be added to measured voltage of bandgap reference.
  627. */
  628. #define UREF_OFFSET 0
  629. /*
  630. * Exact values of probe resistors.
  631. * - Standard value for Rl is 680 Ohms.
  632. * - Standard value for Rh is 470k Ohms.
  633. */
  634. /* Rl in Ohms */
  635. #define R_LOW 680
  636. /* Rh in Ohms */
  637. #define R_HIGH 470000
  638. /*
  639. * Offset for systematic error of resistor measurement with Rh (470k)
  640. * in Ohms.
  641. * - if resistors >20k measure too high or low adjust the offset accordingly
  642. * - standard offset is 350 Ohms
  643. */
  644. #define RH_OFFSET 350
  645. /*
  646. * Resistance of probes (in 0.01 Ohms).
  647. * - default offset for PCB tracks and probe leads
  648. * - resistance of two probes in series
  649. * - assuming all probes have same/similar resistance
  650. * - will be updated by self-adjustment
  651. */
  652. #define R_ZERO 20
  653. /*
  654. * Use probe pair specific resistance offsets instead of an
  655. * average value for all probes.
  656. * - uncomment to enable
  657. */
  658. //#define R_MULTIOFFSET
  659. /*
  660. * Capacitance of probes (in pF).
  661. * - default offset for MCU, PCB tracks and probe leads
  662. * - Examples:
  663. * capacitance length
  664. * -------------------------
  665. * 3pF about 10cm
  666. * 9pF about 30cm
  667. * 15pF about 50cm
  668. * - maximum value: 100
  669. * - will be updated by self-adjustment
  670. */
  671. #define C_ZERO 43
  672. /*
  673. * Use probe pair specific capacitance offsets instead of an
  674. * average value for all probes.
  675. * - uncomment to enable
  676. */
  677. //#define CAP_MULTIOFFSET
  678. /*
  679. * Maximum voltage at which we consider a capacitor being
  680. * discharged (in mV).
  681. */
  682. #define CAP_DISCHARGED 2
  683. /*
  684. * Correction factors for capacitors (in 0.1%)
  685. * - positive factor increases capacitance value
  686. * negative factor decreases capacitance value
  687. * - CAP_FACTOR_SMALL for caps < 4.7�F
  688. * - CAP_FACTOR_MID for caps 4.7 - 47�F
  689. * - CAP_FACTOR_LARGE for caps > 47�F
  690. */
  691. #define CAP_FACTOR_SMALL 0 /* no correction */
  692. #define CAP_FACTOR_MID -40 /* -4.0% */
  693. #define CAP_FACTOR_LARGE -90 /* -9.0% */
  694. /*
  695. * Number of ADC samples to perform for each mesurement.
  696. * - Valid values are in the range of 1 - 255.
  697. */
  698. #define ADC_SAMPLES 25
  699. /*
  700. * 100nF AREF buffer capacitor
  701. * - used by some MCU boards
  702. * - will increase measurement time
  703. * - recommendation: replace with 1nF capacitor
  704. * - uncomment to enable
  705. */
  706. //#define ADC_LARGE_BUFFER_CAP
  707. /* ************************************************************************
  708. * R & D - meant for firmware developers
  709. * ************************************************************************ */
  710. /*
  711. * Enable read functions for display module.
  712. * - display driver and interface settings have to support this
  713. * - uncomment to enable
  714. */
  715. //#define LCD_READ
  716. /*
  717. * Read ID of display controller.
  718. * - ID is shown at welcome screen (after firmware version)
  719. * - requires display read functions (LCD_READ)
  720. * - recommended: serial output (UI_SERIAL_COPY)
  721. * - uncomment to enable
  722. */
  723. //#define SW_DISPLAY_ID
  724. /*
  725. * Read registers of display controller and output them via TTL serial.
  726. * - requires display read functions (LCD_READ) and
  727. * serial output (UI_SERIAL_COPY)
  728. * - uncomment to enable
  729. */
  730. //#define SW_DISPLAY_REG
  731. /* ************************************************************************
  732. * MCU specific setup to support different AVRs
  733. * ************************************************************************ */
  734. /* MCU clock */
  735. #define CPU_FREQ F_CPU
  736. /*
  737. * ATmega 328/328P
  738. */
  739. #if defined(__AVR_ATmega328__)
  740. #include "config_328.h"
  741. /*
  742. * ATmega 324P/324PA/644/644P/644PA/1284/1284P
  743. */
  744. #elif defined(__AVR_ATmega324P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega1284__)
  745. #include "config_644.h"
  746. /*
  747. * ATmega 640/1280/2560
  748. */
  749. #elif defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  750. #include "config_1280.h"
  751. /*
  752. * missing or unsupported MCU
  753. */
  754. #else
  755. #error <<< No or wrong MCU type selected! >>>
  756. #endif
  757. /* ************************************************************************
  758. * Busses
  759. * ************************************************************************ */
  760. /*
  761. * I2C bus
  762. * - might be required by some hardware
  763. * - could be enabled already in display section (config_<MCU>.h)
  764. * - for bit-bang I2C port and pins see I2C_PORT (config_<MCU>.h)
  765. * - hardware I2C (TWI) uses automatically the proper MCU pins
  766. * - uncomment either I2C_BITBANG or I2C_HARDWARE to enable
  767. * - uncomment one of the bus speed modes
  768. */
  769. //#define I2C_BITBANG /* bit-bang I2C */
  770. //#define I2C_HARDWARE /* MCU's hardware TWI */
  771. //#define I2C_STANDARD_MODE /* 100kHz bus speed */
  772. //#define I2C_FAST_MODE /* 400kHz bus speed */
  773. //#define I2C_RW /* enable I2C read support (untested) */
  774. /*
  775. * SPI bus
  776. * - might be required by some hardware
  777. * - could be enabled already in display section (config_<MCU>.h)
  778. * - for bit-bang SPI port and pins see SPI_PORT (config_<MCU>.h)
  779. * - hardware SPI uses automatically the proper MCU pins
  780. * - uncomment either SPI_BITBANG or SPI_HARDWARE to enable
  781. */
  782. //#define SPI_BITBANG /* bit-bang SPI */
  783. //#define SPI_HARDWARE /* hardware SPI */
  784. //#define SPI_RW /* enable SPI read support */
  785. /*
  786. * TTL serial interface
  787. * - could be enabled already in display section (config_<MCU>.h)
  788. * - for bit-bang serial port and pins see SERIAL_PORT (config_<MCU>.h)
  789. * - hardware serial uses automatically the proper MCU pins
  790. * - uncomment either SERIAL_BITBANG or SERIAL_HARDWARE to enable
  791. */
  792. //#define SERIAL_BITBANG /* bit-bang serial */
  793. //#define SERIAL_HARDWARE /* hardware serial */
  794. //#define SERIAL_RW /* enable serial read support */
  795. /*
  796. * OneWire bus
  797. * - for dedicated I/O pin please see ONEWIRE_PORT (config_<MCU>.h)
  798. * - uncomment either ONEWIRE_PROBES or ONEWIRE_IO_PIN to enable
  799. */
  800. //#define ONEWIRE_PROBES /* via probes */
  801. //#define ONEWIRE_IO_PIN /* via dedicated I/O pin */
  802. /* ************************************************************************
  803. * ADC clock
  804. * ************************************************************************ */
  805. /*
  806. * ADC clock
  807. * - The ADC clock is 125000Hz by default.
  808. * - You could also set 250000Hz, but that exceeds the max. ADC clock
  809. * of 200kHz for 10 bit resolution!
  810. * - Special case for 20MHz MCU clock: 156250Hz
  811. */
  812. #if CPU_FREQ == 20000000
  813. /* 20MHz MCU clock */
  814. #define ADC_FREQ 156250
  815. #else
  816. /* all other MCU clocks */
  817. #define ADC_FREQ 125000
  818. #endif
  819. /*
  820. * define clock divider
  821. * - supports 1MHz, 2MHz, 4MHz, 8MHz, 16MHz and 20MHz MCU clocks
  822. * - we got only 7 fixed prescalers from 2 up to 128
  823. */
  824. /* 1MHz/250kHz */
  825. #if CPU_FREQ / ADC_FREQ == 4
  826. #define ADC_CLOCK_DIV (1 << ADPS1)
  827. #endif
  828. /* 1MHz/125kHz 2MHz/250kHz */
  829. #if CPU_FREQ / ADC_FREQ == 8
  830. #define ADC_CLOCK_DIV (1 << ADPS1) | (1 << ADPS0)
  831. #endif
  832. /* 2MHz/125kHz 4MHz/250kHz */
  833. #if CPU_FREQ / ADC_FREQ == 16
  834. #define ADC_CLOCK_DIV (1 << ADPS2)
  835. #endif
  836. /* 4MHz/125kHz 8MHz/250kHz */
  837. #if CPU_FREQ / ADC_FREQ == 32
  838. #define ADC_CLOCK_DIV (1 << ADPS2) | (1 << ADPS0)
  839. #endif
  840. /* 8MHz/125kHz 16MHz/250kHz */
  841. #if CPU_FREQ / ADC_FREQ == 64
  842. #define ADC_CLOCK_DIV (1 << ADPS2) | (1 << ADPS1)
  843. #endif
  844. /* 16MHz/125kHz 20MHz/156.25kHz */
  845. #if CPU_FREQ / ADC_FREQ == 128
  846. #define ADC_CLOCK_DIV (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0)
  847. #endif
  848. /* ************************************************************************
  849. * derived values
  850. * ************************************************************************ */
  851. /*
  852. * number of MCU cycles per �s
  853. * - min. 1 (for 1MHz)
  854. * - max. 20 (for 20MHz)
  855. */
  856. #define MCU_CYCLES_PER_US (CPU_FREQ / 1000000)
  857. /*
  858. * number of MCU cycles per ADC cycle
  859. * - min. 4
  860. * - max. 128
  861. */
  862. #define MCU_CYCLES_PER_ADC (CPU_FREQ / ADC_FREQ)
  863. /*
  864. * time of a MCU cycle (in 0.1 ns)
  865. */
  866. #define MCU_CYCLE_TIME (10000 / (CPU_FREQ / 1000000))
  867. /* ************************************************************************
  868. * options management
  869. * ************************************************************************ */
  870. /*
  871. * storage of program data (EEPROM/Flash)
  872. */
  873. #if defined (DATA_EEPROM)
  874. /* memory type */
  875. #define MEM_TYPE EEMEM
  876. /* read functions */
  877. #define DATA_read_byte(addr) eeprom_read_byte(addr)
  878. #define DATA_read_word(addr) eeprom_read_word(addr)
  879. #elif defined (DATA_FLASH)
  880. /* memory type */
  881. #define MEM_TYPE PROGMEM
  882. /* read functions */
  883. #define DATA_read_byte(addr) pgm_read_byte(addr)
  884. #define DATA_read_word(addr) pgm_read_word(addr)
  885. #endif
  886. /*
  887. * hardware/software options
  888. */
  889. /* power switch: prefer soft-latching type */
  890. #ifdef POWER_SWITCH_SOFT
  891. #ifdef POWER_SWITCH_MANUAL
  892. #undef POWER_SWITCH_MANUAL
  893. #endif
  894. #endif
  895. /* additional keys */
  896. /* rotary encoder, increase/decrease push buttons or touch screen */
  897. #if defined (HW_ENCODER) || defined (HW_INCDEC_KEYS) | defined (HW_TOUCH)
  898. #define HW_KEYS
  899. #endif
  900. /* options which require additional keys */
  901. #ifndef HW_KEYS
  902. /* key hints */
  903. #ifdef UI_KEY_HINTS
  904. #undef UI_KEY_HINTS
  905. #endif
  906. /* PWM+ */
  907. #ifdef SW_PWM_PLUS
  908. #undef SW_PWM_PLUS
  909. #define SW_PWM_SIMPLE
  910. #endif
  911. /* squarewave generator */
  912. #ifdef SW_SQUAREWAVE
  913. #undef SW_SQUAREWAVE
  914. #endif
  915. /* Servo Check */
  916. #ifdef SW_SERVO
  917. #undef SW_SERVO
  918. #endif
  919. /* IR Sender */
  920. #ifdef SW_IR_TRANSMITTER
  921. #undef SW_IR_TRANSMITTER
  922. #endif
  923. #endif
  924. /* options which require inductance measurement */
  925. #ifndef SW_INDUCTOR
  926. /* L monitor */
  927. #ifdef SW_MONITOR_L
  928. #undef SW_MONITOR_L
  929. #endif
  930. /* RCL Monitor */
  931. #ifdef SW_MONITOR_RCL
  932. #undef SW_MONITOR_RCL
  933. #endif
  934. /* RL Monitor */
  935. #ifdef SW_MONITOR_RL
  936. #undef SW_MONITOR_RL
  937. #endif
  938. #endif
  939. /* options which require ESR measurement */
  940. #if ! defined (SW_ESR) && ! defined (SW_OLD_ESR)
  941. /* ESR tool */
  942. #ifdef SW_ESR_TOOL
  943. #undef SW_ESR_TOOL
  944. #endif
  945. #endif
  946. /* options which require a MCU clock >= 8MHz */
  947. #if CPU_FREQ < 8000000
  948. /* ESR measurement */
  949. #ifdef SW_ESR
  950. #undef SW_ESR
  951. #endif
  952. /* old ESR measurement */
  953. #ifdef SW_OLD_ESR
  954. #undef SW_OLD_ESR
  955. #endif
  956. #endif
  957. /* SPI */
  958. #if defined (SPI_BITBANG) && defined (SPI_HARDWARE)
  959. #error <<< Select either bitbang or hardware SPI! >>>
  960. #endif
  961. #if defined (SPI_BITBANG) || defined (SPI_HARDWARE)
  962. #define HW_SPI
  963. #endif
  964. /* 9-Bit SPI requires bit-bang mode */
  965. #ifdef SPI_9
  966. #ifndef SPI_BITBANG
  967. #error <<< 9-Bit SPI requires bit-bang mode! >>>
  968. #endif
  969. #endif
  970. /* I2C */
  971. #if defined (I2C_BITBANG) && defined (I2C_HARDWARE)
  972. #error <<< Select either bitbang or hardware I2C! >>>
  973. #endif
  974. #if defined (I2C_BITBANG) || defined (I2C_HARDWARE)
  975. #define HW_I2C
  976. #endif
  977. /* TTL serial */
  978. #if defined (SERIAL_BITBANG) && defined (SERIAL_HARDWARE)
  979. #error <<< Select either bitbang or hardware serial interface! >>>
  980. #endif
  981. #if defined (SERIAL_BITBANG) || defined (SERIAL_HARDWARE)
  982. #define HW_SERIAL
  983. #endif
  984. /* VT100 display driver disables other options for serial interface */
  985. #ifdef LCD_VT100
  986. #ifdef UI_SERIAL_COPY
  987. #undef UI_SERIAL_COPY
  988. #endif
  989. #ifdef UI_SERIAL_COMMANDS
  990. #undef UI_SERIAL_COMMANDS
  991. #endif
  992. #endif
  993. /* options which require TTL serial */
  994. #ifndef HW_SERIAL
  995. /* VT100 display */
  996. #ifdef LCD_VT100
  997. #undef LCD_VT100
  998. #endif
  999. /* serial copy */
  1000. #ifdef UI_SERIAL_COPY
  1001. #undef UI_SERIAL_COPY
  1002. #endif
  1003. /* remote commands */
  1004. #ifdef UI_SERIAL_COMMANDS
  1005. #undef UI_SERIAL_COMMANDS
  1006. #endif
  1007. #endif
  1008. /* options which require TTL serial RW */
  1009. #ifndef SERIAL_RW
  1010. #ifdef UI_SERIAL_COMMANDS
  1011. #undef UI_SERIAL_COMMANDS
  1012. #endif
  1013. #endif
  1014. /* OneWire */
  1015. #if defined (ONEWIRE_PROBES) && defined (ONEWIRE_IO_PIN)
  1016. #error <<< Select either probes or dedicated IO pin for Onewire! >>>
  1017. #endif
  1018. /* options which require OneWire */
  1019. #if ! defined (ONEWIRE_PROBES) && ! defined (ONEWIRE_IO_PIN)
  1020. /* DS18B20 */
  1021. #ifdef SW_DS18B20
  1022. #undef SW_DS18B20
  1023. #endif
  1024. /* OneWire scan */
  1025. #ifdef SW_ONEWIRE_SCAN
  1026. #undef SW_ONEWIRE_SCAN
  1027. #endif
  1028. #endif
  1029. /* touchscreen */
  1030. #ifdef TOUCH_PORT
  1031. #define HW_TOUCH
  1032. #endif
  1033. /* LCD module */
  1034. #ifdef LCD_CONTRAST
  1035. #define SW_CONTRAST
  1036. #else
  1037. #define LCD_CONTRAST 0
  1038. #endif
  1039. /* options which require a color display */
  1040. #ifndef LCD_COLOR
  1041. /* color coding for probes */
  1042. #ifdef SW_PROBE_COLORS
  1043. #undef SW_PROBE_COLORS
  1044. #endif
  1045. #endif
  1046. /* options which require a color graphics display */
  1047. #if ! defined (LCD_COLOR) || ! defined (LCD_GRAPHIC)
  1048. /* resistor color-codes */
  1049. #ifdef SW_R_E24_5_CC
  1050. #undef SW_R_E24_5_CC
  1051. #endif
  1052. #ifdef SW_R_E24_1_CC
  1053. #undef SW_R_E24_1_CC
  1054. #endif
  1055. #ifdef SW_R_E96_CC
  1056. #undef SW_R_E96_CC
  1057. #endif
  1058. #endif
  1059. /* component symbols for fancy pinout */
  1060. #if defined (SYMBOLS_24X24_H)
  1061. #define SYMBOLS_SELECTED
  1062. #endif
  1063. #if defined (SYMBOLS_24X24_HF) || defined (SYMBOLS_30X32_HF) || defined (SYMBOLS_32X32_HF)
  1064. #define SYMBOLS_SELECTED
  1065. #endif
  1066. #if defined (SYMBOLS_24X24_VFP)
  1067. #define SYMBOLS_SELECTED
  1068. #endif
  1069. #if defined (SYMBOLS_24X24_VP_F)
  1070. #define SYMBOLS_SELECTED
  1071. #endif
  1072. /* fancy pinout requires graphic display and symbol set */
  1073. #ifdef SW_SYMBOLS
  1074. /* graphic display */
  1075. #ifndef LCD_GRAPHIC
  1076. #undef SW_SYMBOLS
  1077. #endif
  1078. /* symbol set */
  1079. #ifndef SYMBOLS_SELECTED
  1080. #undef SW_SYMBOLS
  1081. #endif
  1082. #endif
  1083. /* frequency counter */
  1084. #if defined (HW_FREQ_COUNTER_BASIC) || defined (HW_FREQ_COUNTER_EXT)
  1085. #define HW_FREQ_COUNTER
  1086. #endif
  1087. /* IR detector/decoder */
  1088. #if defined (SW_IR_RECEIVER) && defined (HW_IR_RECEIVER)
  1089. #error <<< Select either probes or dedicated IO pin for IR detector! >>>
  1090. #endif
  1091. /* rounding for DS18B20 requires DS18B20 support */
  1092. #ifdef UI_ROUND_DS18B20
  1093. #ifndef SW_DS18B20
  1094. #undef UI_ROUND_DS18B20
  1095. #endif
  1096. #endif
  1097. /* read functions for display require bus with read support enabled */
  1098. #ifdef LCD_READ
  1099. #if defined(LCD_SPI) && ! defined(SPI_RW)
  1100. #undef LCD_READ
  1101. #endif
  1102. #if defined(LCD_I2C) && ! defined(I2C_RW)
  1103. #undef LCD_READ
  1104. #endif
  1105. /* can't check parallel busses */
  1106. #endif
  1107. /* display ID requires read functions for display */
  1108. #ifdef SW_DISPLAY_ID
  1109. #ifndef LCD_READ
  1110. #undef SW_DISPLAY_ID
  1111. #endif
  1112. #endif
  1113. /* output of display registers requires read functions for display
  1114. and serial output */
  1115. #ifdef SW_DISPLAY_REG
  1116. #ifndef LCD_READ
  1117. #undef SW_DISPLAY_REG
  1118. #endif
  1119. #ifndef UI_SERIAL_COPY
  1120. #undef SW_DISPLAY_REG
  1121. #endif
  1122. #endif
  1123. /* ************************************************************************
  1124. * simplify ifdefs
  1125. * ************************************************************************ */
  1126. /* E6 norm values */
  1127. #if defined (SW_C_E6_T) || defined (SW_L_E6_T)
  1128. #define SW_E6
  1129. #endif
  1130. /* E12 norm values */
  1131. #if defined (SW_C_E12_T) || defined (SW_L_E12_T)
  1132. #define SW_E12
  1133. #endif
  1134. /* E24 norm values */
  1135. #if defined (SW_R_E24_5_T) || defined (SW_R_E24_5_CC) || defined (SW_R_E24_1_T) || defined (SW_R_E24_1_CC)
  1136. #define SW_E24
  1137. #endif
  1138. /* E96 norm values */
  1139. #if defined (SW_R_E96_T) || defined (SW_R_E96_CC)
  1140. #define SW_E96
  1141. #endif
  1142. /* Show_ENormValues(), Display_EValue() */
  1143. #if defined (SW_R_E24_5_T) || defined (SW_R_E24_1_T) || defined (SW_R_E96_T)
  1144. #ifndef FUNC_EVALUE
  1145. #define FUNC_EVALUE
  1146. #endif
  1147. #ifndef SW_R_EXX
  1148. #define SW_R_EXX
  1149. #endif
  1150. #endif
  1151. #if defined (SW_C_E6_T) || defined (SW_C_E12_T) || defined (SW_L_E6_T) || defined (SW_L_E12_T)
  1152. #ifndef FUNC_EVALUE
  1153. #define FUNC_EVALUE
  1154. #endif
  1155. #endif
  1156. /* Show_ENormCodes(), Display_ColorCode() */
  1157. #if defined (SW_R_E24_5_CC) || defined (SW_R_E24_1_CC) || defined (SW_R_E96_CC)
  1158. #ifndef FUNC_COLORCODE
  1159. #define FUNC_COLORCODE
  1160. #endif
  1161. #ifndef SW_R_EXX
  1162. #define SW_R_EXX
  1163. #endif
  1164. #endif
  1165. /* SmoothLongKeyPress() */
  1166. #if defined (SW_PWM_PLUS) || defined (SW_SERVO) || defined (HW_EVENT_COUNTER) || defined (HW_LC_METER)
  1167. #ifndef FUNC_SMOOTHLONGKEYPRESS
  1168. #define FUNC_SMOOTHLONGKEYPRESS
  1169. #endif
  1170. #endif
  1171. /* Display_FullValue() */
  1172. #if defined (SW_SQUAREWAVE) || defined (SW_PWM_PLUS) || defined (HW_FREQ_COUNTER_EXT) || defined (SW_SERVO)
  1173. #ifndef FUNC_DISPLAY_FULLVALUE
  1174. #define FUNC_DISPLAY_FULLVALUE
  1175. #endif
  1176. #endif
  1177. #if defined (SW_DS18B20) || defined (HW_EVENT_COUNTER) || defined (SW_DHTXX)
  1178. #ifndef FUNC_DISPLAY_FULLVALUE
  1179. #define FUNC_DISPLAY_FULLVALUE
  1180. #endif
  1181. #endif
  1182. #if defined (FUNC_EVALUE) || defined (FUNC_COLORCODE) || defined (LC_METER_SHOW_FREQ)
  1183. #ifndef FUNC_DISPLAY_FULLVALUE
  1184. #define FUNC_DISPLAY_FULLVALUE
  1185. #endif
  1186. #endif
  1187. /* Display_HexByte() */
  1188. #if defined (SW_IR_RECEIVER) || defined (HW_IR_RECEIVER) || defined (ONEWIRE_READ_ROM) || defined (SW_ONEWIRE_SCAN) || defined (SW_FONT_TEST) || defined (SW_DISPLAY_REG)
  1189. #ifndef FUNC_DISPLAY_HEXBYTE
  1190. #define FUNC_DISPLAY_HEXBYTE
  1191. #endif
  1192. #endif
  1193. /* Display_HexValue() */
  1194. #if defined (SW_IR_TRANSMITTER) || defined (SW_DISPLAY_ID)
  1195. #ifndef FUNC_DISPLAY_HEXVALUE
  1196. #define FUNC_DISPLAY_HEXVALUE
  1197. #endif
  1198. #endif
  1199. /* ************************************************************************
  1200. * EOF
  1201. * ************************************************************************ */