chartreuse | Well I just realized a mistake I made looking at the keyboard controller. The keys are being driven with a low row signal, and there's a pullup on the columns | 00:24 |
---|---|---|
chartreuse | Rather than the other way around, so I'd need an interrupt on PC6 (COL14) rather than ROW1, And PC6 doesn't have pin change interrupt capabilities | 00:24 |
chartreuse | And there's no pull down on the lines or in the AVR AFAIK | 00:26 |
chartreuse | So I can't just run it backwards | 00:26 |
chartreuse | Hmm | 00:26 |
chartreuse | Need to find a solution that'd work for people without requiring any hardware mods | 00:28 |
mntmn | chartreuse: would a watchdog timer solution work? wake up once in a while and scan the row/column? | 00:29 |
chartreuse | Yeah I can probably do that, just means it's using more power on average than a full power-down until the key is pressed | 00:30 |
chartreuse | There are other keys that could be pressed as well, but the circle is on one that wouldn't work. Col 5-8 can do it | 00:31 |
chartreuse | I'll see what the duration of the watchdog can be. It wouldn't need to wake for long, just wakeup and check the state of the PC6 pin to see if circle has pressed, and if not go back to sleep | 00:33 |
mntmn | hmm is see | 00:33 |
chartreuse | Is something like escape or the Super key on any of those columns that could make sense to wake it? Or would it be too confusing if it wasn't circle | 00:34 |
mntmn | the columns are mostly like you see them in front of you on the keyboard | 00:34 |
mntmn | btw you can check that easily in the pcb layout file | 00:34 |
chartreuse | Ah okay | 00:35 |
chartreuse | That makes sense given that there's 14 keys on the top row, I should have thought of that | 00:35 |
chartreuse | Only one I could see making sense is pressing spacebar to wake, but I think I'll look into the occasional wakeup instead | 00:36 |
chartreuse | Just anything to save the continuous draw when off | 00:36 |
mntmn | left space is col4, right space col7 | 00:36 |
mntmn | so only right space would work | 00:36 |
chartreuse | Ah yeah, I'll just pass on the other key idea then | 00:36 |
chartreuse | Never used the watchdog on an AVR before so this is something new to learn | 00:37 |
mntmn | same | 00:37 |
mntmn | the key stuff is still interesting as an option for people who know what they're doing | 00:37 |
chartreuse | The watchdog just means though that I need to take over after the processor is reset, as all it does is send a reset signal after it expires | 00:38 |
chartreuse | Adding a pull-down to ROW1 would make it easy to detect the circle key, since the matrix can be run the other direction while in standby | 00:38 |
chartreuse | Put power on COL14 and read it on ROW1, rather than making ROW1 low and the pull-up on COL14 being brought down | 00:39 |
chartreuse | Just having the watchdog enabled increases the power draw in Power-Down mode, so that doesn't seem ideal. Though I'm not really seeing another way at the moment | 00:43 |
chartreuse | Could rely on floating pins but that seems hacky. Drive ROW1 low then change to input before going into poweroff, and wakeup if it goes high | 00:44 |
chartreuse | I'll think about this for a while, and also see just how long the watchdog can be set to | 00:45 |
chartreuse | Oh! Seems the watchdog can wake and do an interrupt instead of reset. That's easier | 00:48 |
chartreuse | And the slowest it can run is every 8s, which is probably a little long to have the user hold the circle key for, but not terrible | 00:49 |
chartreuse | Maybe set it to 1s in normal power-off, and if the low battery condition is present then set it to 8? | 00:49 |
mntmn | yep | 01:11 |
mntmn | that sounds reasonable | 01:11 |
- wagga (QUIT: Ping timeout: 246 seconds) (~wagga@node-1w7jra22ildhwz3bljfcm28nt.ipv6.telus.net) | 02:17 | |
- V (QUIT: Remote host closed the connection) (~v@anomalous.eu) | 03:20 | |
+ V (~v@anomalous.eu) | 03:33 | |
chartreuse | When the system shuts down to low battery does the LPC send anything to the keyboard controller? Or is that just ignored. I'm not immediately spotting anything | 06:00 |
chartreuse | I can tell when the battery is low but doesn't seem that I can tell when the processor is off. USB power maybe? | 06:02 |
swivel | ' | 06:06 |
swivel | oops | 06:06 |
mntmn | chartreuse: i should probably add a power status flag in the battery status info that the keyboard gets from lpc. | 10:21 |
+ lastebil_ (truck@77.246.204.69) | 12:42 | |
- lastebil (QUIT: Ping timeout: 268 seconds) (truck@77.246.204.69) | 12:43 | |
+ Guest20 (~Guest20@node-1w7jra22ildhv0sg95rztly40.ipv6.telus.net) | 13:33 | |
+ reform22343 (~root@h26.43.17.98.static.ip.windstream.net) | 15:49 | |
- reform22343 (QUIT: Client Quit) (~root@h26.43.17.98.static.ip.windstream.net) | 15:49 | |
+ rasmus (~rasmus@c80-217-132-63.bredband.tele2.se) | 16:10 | |
+ mjw (~mark@herd.wildebeest.org) | 18:06 | |
- rasmus (PART: Disconnected: timeout during receiving) (~rasmus@c80-217-132-63.bredband.tele2.se) | 18:10 | |
+ rasmus (~rasmus@c80-217-132-63.bredband.tele2.se) | 18:11 | |
- S0rin (QUIT: Ping timeout: 245 seconds) (~S0rin@user/s0rin) | 18:33 | |
+ S0rin (~S0rin@user/s0rin) | 18:35 | |
* Guest20 -> wagga | 18:37 | |
- rasmus (PART: Disconnected: timeout during receiving) (~rasmus@c80-217-132-63.bredband.tele2.se) | 20:11 | |
+ rasmus (~rasmus@c80-217-132-63.bredband.tele2.se) | 20:12 | |
- XgF (QUIT: Remote host closed the connection) (~quassel@2001:19f0:5001:1174:dbf:47a1:9a3f:787d) | 21:20 | |
+ XgF (~quassel@2001:19f0:5001:1174:7863:4748:9423:56b5) | 21:21 | |
+ bluerise_ (~bluerise@p5b0acbf2.dip0.t-ipconnect.de) | 21:22 | |
- bluerise (QUIT: Ping timeout: 245 seconds) (~bluerise@user/bluerise) | 21:22 | |
- rasmus (PART: Disconnected: closed) (~rasmus@c80-217-132-63.bredband.tele2.se) | 21:55 | |
chartreuse | mntmn, that could be a nice idea. I'd probably modify the keyboard firmware to poll the battery info, or status, every so often in the main loop (like the low battery indicator). If it gets told that power is off then it goes to the power-save state | 22:03 |
chartreuse | I think I've got the method currently written up, for now I'll add a test menu entry for it and then open up my bezel to get at the program button | 22:04 |
chartreuse | Benefit of polling the battery in the main loop is I could have it update the battery display if that's left open. Which would be a nice feature by itself | 22:04 |
+ ephase (~ephase@2a01:e0a:168:1211::885) | 22:35 | |
- wagga (QUIT: Quit: Client closed) (~Guest20@node-1w7jra22ildhv0sg95rztly40.ipv6.telus.net) | 22:54 | |
* bluerise_ -> bluerise | 22:56 | |
- bluerise (QUIT: Changing host) (~bluerise@p5b0acbf2.dip0.t-ipconnect.de) | 22:56 | |
+ bluerise (~bluerise@user/bluerise) | 22:56 | |
+ erlehmann (~erle@dynamic-046-114-036-228.46.114.pool.telefonica.de) | 23:58 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!