[UPDATE:v1.7.1,Q8&1chanOTSM]bistro-HD, bistro your way. OTSM, eswitch(devel), Vcc reads, safe_presses, turbo timeout...

@mattlward, I almost forgot, it's also highly recommended to change out the mcu to a V version, either attiny25 or attiny45. See post 69 above.

Ok. I haven’t actually started something yet as I’ve not been confident enough. It’s good to know there will be help available for when I jump in:)

Supfire A2 dual switch? The a2 is single e-switch…

Oh I guess I got confused on the supfire. Well I like it anyway, and eswitch bistro still looks good for it to me.

yeah. I can't promise tons of time, but what you're asking is easy. Really there's nothing harder about this than building the normal TA setup. It's just a different component list. That's all, and while maybe I didn't write list clearly, those components are known now, so just have to buy the right ones and solder them on the right place. That's it. So sure, I can help with that, and any bugs that show up I hope, although in the basic OTSM build, I'm not seeing any.

I updated the LDO post (post 72) with a short version, hopefully it makes it a little more clear.

Awesome, awesome, awesome!

In VIII OTSM of the manual you say,

"The spec for OTSM also requires V version (10Mhz, low voltage version) chips. You might get by without it, but it won't work as well and may cause corruption."

I guess I need new chips . All the 25's I have from MTN are the 20SSU "high voltage" variations.

RH you can try it. I'd recommend reducing the divider resistors to 500ohm total or adding a 500ohm bleeder, and don't cut corners on the cap. To be honest, I suspect you'll get by with it. At worst, you might have trouble getting medium presses when your battery is at 2.9V.

There is the potential corruption issue. Mike C says with the chips running extended times at low voltage he can verify EEPROM corruption. For awhile this bothered me, and I've seen some comments of lights misbehaving that do smell like corruption, but I can't actually see how eeprom corruption breaks the light. That's just configuration values, things like is memory enabled or not. The main menu should operate regardless of what the eeprom state is, and you should be able to get to reset, but I'm not 100% sure that some corner case can't break something. And is it possible to corrupt program memory? Again, I'm not sure. I have seen the non-V chips just occasionally do strange things when in very low voltage, with improper BOD setting, like lock up in a high current state, and so you may just get that the clicks occasionally don't work.

The specs documented are safe, but I'm sure over time people will figure out what they can get by with.

By the way, there's presently a known bug where turbo tap up doesn't work in the biscotti-HD build. Will be fixed in next version. Those features will move out of the untested category.

I have a draft of options for all 2-switch combinations including LEXEL's dumb click switch (his option 2). Some testing to do. Nothing posted yet, plans for next release are in OP.

**

**

Posted version 1.3.

Version 1.3 (there was no 1.2) adds new thermal control, dual switch operational modes, and latest TA modegroups.

http://s000.tinyupload.com/?file_id=42489563655022665614 (link is external)

Detailed changes:

-TURBO_TIMEOUT tap-up didn't work, probably fixed (not 100% tested).

-ESWITCH menu lockout didn't work, maybe fixed it, took a stab at it anyway, but no testing. Never was sure I liked it anyway.

-New TA v1.3 modegroups are included. I've also added 1 old mode from original and one hybrid of my own. The modegroup file for details, the extra modes are not well documented yet.

-OTSM_powersave which is not only for OTSM, is now available to save power on attiny13's too now (4mA to 2mA for on-current if similar to attiny25).

-New temperature step-down option, like BLFA6 turbo timeout and tap up, except the drop down is temperature-triggered. A minimum (not max) time in turbo is set to 10s by default.

-Both the minimum time and the level to step down to are configurable. All levels above that will get thermal protection (except strobes, in bistro way, reading temp is too slow to work with strobes).

More space savings, about 50 bytes, but this was mostly re-used by the new thermal stepdown and added modes.

-Trying to clean up cap-timing section and comments, adding clear preprocessor sections for every possible switch and timing combination.

1-switch: no_init, OTC, OTSM

2-switch: Eswitch + nothing, no_init, OTC, OTSM, or lexel mode.

-Dual switch noinit has a better chance of working correctly now (no eswitch or dual switch lights have been fully tested).

-Dual switch OTSM is discontinued for now.

-Dual switch dumbclick option/build is added. by request of Lexel, the power switch does nothing. It comes back on in the same mode it went off.

- Dual switch turboclick option/build is added. Variation of lexel request (that I like), power switch always comes on in first hidden mode (typically turbo).

Ideas for farther ahead:

Try shortening medium click in OTSM, may require adding finer timing resolution for all times, or possibly just early times. (has a cap performance cost, but it's performing better than needed now).

Maybe rework dual switch stuff so every click type can be given assigned an action type in the configs. Hard to keep the programming tight, and clean, but avoids endless options, I don't have a full vision for how to implement it yet, many details.

In particular considering reverse click order for power switch, maybe separately from above plan.

Here are the present build sizes, not updated in the manual:

text data bss dec hex filename
704 0 41 745 2e9 .\bin\battcheck-4channel-dual-switch-HD-attiny25.elf
712 0 41 753 2f1 .\bin\battcheck-4channel-dual-switch-HD-attiny45.elf
712 0 41 753 2f1 .\bin\battcheck-4channel-dual-switch-HD-attiny85.elf
356 0 29 385 181 .\bin\battcheck-biscotti-HD-attiny13.elf
372 0 29 401 191 .\bin\battcheck-biscotti-HD-attiny25.elf
376 0 29 405 195 .\bin\battcheck-biscotti-HD-attiny45.elf
376 0 29 405 195 .\bin\battcheck-biscotti-HD-attiny85.elf
396 0 33 429 1ad .\bin\battcheck-BLFA6_EMU-HD-attiny13.elf
410 0 33 443 1bb .\bin\battcheck-BLFA6_EMU-HD-attiny25.elf
414 0 33 447 1bf .\bin\battcheck-BLFA6_EMU-HD-attiny45.elf
414 0 33 447 1bf .\bin\battcheck-BLFA6_EMU-HD-attiny85.elf
542 0 35 577 241 .\bin\battcheck-classic-HD-attiny25.elf
546 0 35 581 245 .\bin\battcheck-classic-HD-attiny45.elf
546 0 35 581 245 .\bin\battcheck-classic-HD-attiny85.elf
526 0 39 565 235 .\bin\battcheck-custom-HD-attiny25.elf
530 0 39 569 239 .\bin\battcheck-custom-HD-attiny45.elf
530 0 39 569 239 .\bin\battcheck-custom-HD-attiny85.elf
530 0 41 571 23b .\bin\battcheck-default-HD-attiny25.elf
534 0 41 575 23f .\bin\battcheck-default-HD-attiny45.elf
534 0 41 575 23f .\bin\battcheck-default-HD-attiny85.elf
688 0 41 729 2d9 .\bin\battcheck-dual-switch-dumbclick-TA-HD-attiny25.elf
696 0 41 737 2e1 .\bin\battcheck-dual-switch-dumbclick-TA-HD-attiny45.elf
696 0 41 737 2e1 .\bin\battcheck-dual-switch-dumbclick-TA-HD-attiny85.elf
640 0 34 674 2a2 .\bin\battcheck-dual-switch-noinit-TA-HD-attiny25.elf
648 0 34 682 2aa .\bin\battcheck-dual-switch-noinit-TA-HD-attiny45.elf
648 0 34 682 2aa .\bin\battcheck-dual-switch-noinit-TA-HD-attiny85.elf
660 0 41 701 2bd .\bin\battcheck-dual-switch-turboclick-TA-HD-attiny25.elf
668 0 41 709 2c5 .\bin\battcheck-dual-switch-turboclick-TA-HD-attiny45.elf
668 0 41 709 2c5 .\bin\battcheck-dual-switch-turboclick-TA-HD-attiny85.elf
512 0 40 552 228 .\bin\battcheck-TAv1-OTC-HD-attiny25.elf
516 0 40 556 22c .\bin\battcheck-TAv1-OTC-HD-attiny45.elf
516 0 40 556 22c .\bin\battcheck-TAv1-OTC-HD-attiny85.elf
588 0 41 629 275 .\bin\battcheck-TAv1-OTSM-HD-attiny25.elf
596 0 41 637 27d .\bin\battcheck-TAv1-OTSM-HD-attiny45.elf
596 0 41 637 27d .\bin\battcheck-TAv1-OTSM-HD-attiny85.elf
576 0 40 616 268 .\bin\battcheck-TAv1-OTSM-LDO-HD-attiny25.elf
584 0 40 624 270 .\bin\battcheck-TAv1-OTSM-LDO-HD-attiny45.elf
584 0 40 624 270 .\bin\battcheck-TAv1-OTSM-LDO-HD-attiny85.elf
568 0 34 602 25a .\bin\battcheck-trippledown-HD-attiny25.elf
572 0 34 606 25e .\bin\battcheck-trippledown-HD-attiny45.elf
572 0 34 606 25e .\bin\battcheck-trippledown-HD-attiny85.elf
1926 0 42 1968 7b0 .\bin\bistro-4channel-dual-switch-HD-attiny25.elf
1934 0 42 1976 7b8 .\bin\bistro-4channel-dual-switch-HD-attiny45.elf
1934 0 42 1976 7b8 .\bin\bistro-4channel-dual-switch-HD-attiny85.elf
1022 0 29 1051 41b .\bin\bistro-biscotti-HD-attiny13.elf
1112 0 32 1144 478 .\bin\bistro-biscotti-HD-attiny25.elf
1116 0 32 1148 47c .\bin\bistro-biscotti-HD-attiny45.elf
1116 0 32 1148 47c .\bin\bistro-biscotti-HD-attiny85.elf
1078 0 33 1111 457 .\bin\bistro-BLFA6_EMU-HD-attiny13.elf
1216 0 34 1250 4e2 .\bin\bistro-BLFA6_EMU-HD-attiny25.elf
1220 0 34 1254 4e6 .\bin\bistro-BLFA6_EMU-HD-attiny45.elf
1220 0 34 1254 4e6 .\bin\bistro-BLFA6_EMU-HD-attiny85.elf
1670 0 36 1706 6aa .\bin\bistro-classic-HD-attiny25.elf
1674 0 36 1710 6ae .\bin\bistro-classic-HD-attiny45.elf
1674 0 36 1710 6ae .\bin\bistro-classic-HD-attiny85.elf
1744 0 40 1784 6f8 .\bin\bistro-custom-HD-attiny25.elf
1748 0 40 1788 6fc .\bin\bistro-custom-HD-attiny45.elf
1748 0 40 1788 6fc .\bin\bistro-custom-HD-attiny85.elf
1750 0 41 1791 6ff .\bin\bistro-default-HD-attiny25.elf
1754 0 41 1795 703 .\bin\bistro-default-HD-attiny45.elf
1754 0 41 1795 703 .\bin\bistro-default-HD-attiny85.elf
1940 0 41 1981 7bd .\bin\bistro-dual-switch-dumbclick-TA-HD-attiny25.elf
1948 0 41 1989 7c5 .\bin\bistro-dual-switch-dumbclick-TA-HD-attiny45.elf
1948 0 41 1989 7c5 .\bin\bistro-dual-switch-dumbclick-TA-HD-attiny85.elf
1688 0 35 1723 6bb .\bin\bistro-dual-switch-noinit-TA-HD-attiny25.elf
1696 0 35 1731 6c3 .\bin\bistro-dual-switch-noinit-TA-HD-attiny45.elf
1696 0 35 1731 6c3 .\bin\bistro-dual-switch-noinit-TA-HD-attiny85.elf
1912 0 41 1953 7a1 .\bin\bistro-dual-switch-turboclick-TA-HD-attiny25.elf
1920 0 41 1961 7a9 .\bin\bistro-dual-switch-turboclick-TA-HD-attiny45.elf
1920 0 41 1961 7a9 .\bin\bistro-dual-switch-turboclick-TA-HD-attiny85.elf
1724 0 40 1764 6e4 .\bin\bistro-TAv1-OTC-HD-attiny25.elf
1728 0 40 1768 6e8 .\bin\bistro-TAv1-OTC-HD-attiny45.elf
1728 0 40 1768 6e8 .\bin\bistro-TAv1-OTC-HD-attiny85.elf
1812 0 41 1853 73d .\bin\bistro-TAv1-OTSM-HD-attiny25.elf
1820 0 41 1861 745 .\bin\bistro-TAv1-OTSM-HD-attiny45.elf
1820 0 41 1861 745 .\bin\bistro-TAv1-OTSM-HD-attiny85.elf
1792 0 40 1832 728 .\bin\bistro-TAv1-OTSM-LDO-HD-attiny25.elf
1800 0 40 1840 730 .\bin\bistro-TAv1-OTSM-LDO-HD-attiny45.elf
1800 0 40 1840 730 .\bin\bistro-TAv1-OTSM-LDO-HD-attiny85.elf
1658 0 35 1693 69d .\bin\bistro-trippledown-HD-attiny25.elf
1662 0 35 1697 6a1 .\bin\bistro-trippledown-HD-attiny45.elf
1662 0 35 1697 6a1 .\bin\bistro-trippledown-HD-attiny85.elf

I still forgot to remove BLFA6_EMU-attin13. It is too big for an attiny13 and should not be used.

Minor updated posted (see OP) to 1.3-r2. The code is not changed. Just added a one-click bat file buildall-AS.bat. If Atmel Studio 7.0 is installed in the default directory then double clicking that file from the windows file explorer will re-compile all hex files, which can then be found in the hex/ subdirectory. Editing the file : Makefile in any text editor you can find the ONEBUILD option, remove the # comment sign and define a single configuration to compile instead of making them all.

This is intended to allow compiling with the Atemel Studio 7.0 "toolchain" but without needing to actually import the project into Atmel Studio. You can still edit files with Atmel Studio, or with any other editor (Notepad, Notepad++, or whatever).

The one downside is build errors are not presently parsed. You'll be able to see them in the output window though, possibly requiring scrolling up.

When I compile this in Atmel Studio, I get a different (slightly larger) filesize from the pre-compiled .hex. Compiling in WinAVR gives yet another (even larger) filesize. Any idea what I might be doing wrong? Or does it even make a difference?

Short answer - Windows sucks. Texas_Ace was the first one I saw mention this, but someone else may have noticed it earlier. Compiling in Linux results in smaller file sizes.

in the solution properties you have to set compile to minimal file size

I haven’t kept up lately. Was fet duty cycle compensation ever implemented for low vf emitters?

The -Os in the makefile C_FLAGS overrides the settings in the solution properties screen. It won’t let you change any options in there anyway if you have a makefile selected.

I’m not going to worry about it. Tonight I’m getting started on building 6x 17mm TAv1 drivers for Bistro-HD/OTSM. Once I’ve got a board ready, I’ll try both .hex files (the provided one and the compiled one) and make sure they both work, and then move on to custom reverse and forward modegroups.

Hey friend, has the necessary component and layout changes require for otsm been illustrated somewhere? I’m not sure how to implement the changes to the ta boards. I’m sure it’s been discussed though, right?

The component changes are in THE_MANUAL.txt inside of the .zip file. I put together a quick cheat-sheet for myself (17mm, 1S, clicky), but have not actually used it yet, so I don’t know if there are any errors:

COMPONENTS —

U1: ATTiny25V
U2: SIR800DP

D1: RB751V40T1G
D2: none

C1: 1uF
C2: 47uF - 298D476X0010P2T
OTC: none

7135: AMC7135 (I’m going to use 350ma version)

R1: 1K
R2: 3.3K
R3: 100K
R4: 47
R5: 4.7
BR: none

edit: these values are all correct, I’ve built 6 drivers successfully

So apparently the tantalum capacitor for C2 (298D476X0010P2T) is polarized. As best I can tell, the anode needs to point toward R1/R2 on a 17mm TAv1 board. It seems to be working, but can you please confirm, Flintrock? Apologies if it is in the documentation and I just missed it.

Sorry for the lousy photo.

This is funny, I see this over and over. A while back I consistently could compile Bistro in a smaller size under Atmel Studio than what TK could get under Linux. I passed along the compiler switch settings from Studio to TK, and she found an optimized setting in the Atmel Visual Studio setting she didn't know about, added it, then we matched.

I dunno what you guys are doin, but Atmel Studio works fully optimized, and great for me. Using it on a decent Win 10 system with a solid state drive and it's super fast, very easy, nice dev environment, lots of features in the editor, and believe, me, I've used a ton of dev environments.

Like I said, I'm clueless what your problems are with it. I've run it on at least 4 Win computers - no problems whatsoever.

Does anyone know the size of the latest v1.3-R2 version with the default config of "TAv1-OTSM-HD" for a ATtiny25?

I got text: 1818, bss: 41, dec: 1859, with a straight Atmel VS 7.0 build (latest version), standard options. Not sure if what's listed in the OP is this latest version.

I would like the Amtel Studio, if I could really understand the workflow and where different types of files should be located.

the datasheet of the tantal cap says the anode is marked with a polarity bar