Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.15 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.04 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\EntryComment {#1394
  +user: Proxies\__CG__\App\Entity\User {#1369 …}
  +entry: App\Entity\Entry {#1810 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "askelectronics@discuss.tchncs.de"
    +title: "askelectronics"
    +description: """
      **For questions about component-level electronic circuits, tools and equipment.**\n
      \n
      Rules\n
      -----\n
      \n
      1: Be nice.\n
      \n
      2: Be on-topic (eg: *Electronic*, not *electrical*).\n
      \n
      3: No commercial stuff, buying, selling or valuations.\n
      \n
      4: Be safe.\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 154
    +entryCommentCount: 1230
    +postCount: 1
    +postCommentCount: 4
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729413608 {#323
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 11
    +apId: "askelectronics@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
    +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
    +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "askelectronics"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727247714 {#317
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#316
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2476 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2466 …}
  +body: """
    I use the Attiny10 in this context. At 3.5V operation and using the Watchdog timer + deep sleep… that should cost you about 4.5 uA when the lamp is off. Then a bit more when it is on (about 40uA assuming whatever the GPIO is connected to is high impedance), as you have to enable the I/O clock (but most things and peripherals can stay off). So an average consumption of 10.4 uA, or 31 years of operation off two 1.5V cells – of course they’re not rated for this long and the actual light will consume far far more power. The point is that the current consumption of the system is absolutely dominated by the light-producing component, in other words the control system is highly efficient.\n
    \n
    You can implement as a state machine, e.g. something vaguely like:\n
    \n
    Set WDT to trigger an interrupt instead of the RESET vector. Then set WDT to trigger after 8s. Then on wake increment a register (you will need 2 registers, 8 bits isn’t enough). Compare these registers to constants that set the timer duration. On compare match, change the machine state.\n
    \n
    Machine state 1: GPIO HIGH, timer duration 4h, I/O clock enabled. CPU sleep mode IDLE. Machine state 2: GPIO LOW, timer duration 20h, sleep mode POWER DOWN.\n
    \n
    I think in assembly language but should be a similar process in C++. I’ve successfully implemented very similar (night-light timing) algorithms on this chip. I can’t give you power consumption metrics as none have ever run out of power over the past 6 months.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1692356808 {#1605
    date: 2023-08-18 13:06:48.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@P03@lemmy.world"
    "@sokkies@lemmyrs.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2288 …}
  +nested: Doctrine\ORM\PersistentCollection {#2166 …}
  +votes: Doctrine\ORM\PersistentCollection {#2427 …}
  +reports: Doctrine\ORM\PersistentCollection {#2426 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2488 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1841 …}
  -id: 26148
  -bodyTs: "'1':195 '1.5':81 '10.4':72 '2':169,210 '20h':215 '3.5':9 '31':75 '4.5':24 '40ua':40 '4h':200 '6':266 '8':171 '8s':159 'absolut':114 'actual':95 'algorithm':243 'assembl':223 'assum':41 'attiny10':4 'averag':69 'bit':33,172 'c':232 'cell':83 'chang':189 'chip':246 'clock':58,202 'compar':176,187 'compon':121 'connect':46 'constant':180 'consum':98 'consumpt':70,109,253 'context':7 'control':126 'cost':21 'cours':85 'cpu':204 'current':108 'deep':17 'domin':115 'durat':185,199,214 'e.g':138 'effici':130 'enabl':55,203 'enough':175 'ever':258 'far':99,100 'give':250 'gpio':44,196,211 'high':49,129,197 'i/o':57,201 'idl':207 'imped':50 'implement':133,236 'increment':163 'instead':148 'interrupt':147 'isn':173 'lamp':28 'languag':224 'light':96,119,241 'light-produc':118 'like':141 'long':92 'low':212 'machin':137,191,193,208 'match':188 'metric':254 'mode':206,217 'month':267 'need':168 'night':240 'night-light':239 'none':256 'oper':11,78 'past':265 'peripher':63 'point':104 'power':102,218,252,262 'process':230 'produc':120 'rate':89 're':87 'regist':165,170,178 'reset':151 'run':259 'set':142,154,182 'similar':229,238 'sleep':18,205,216 'someth':139 'state':136,192,194,209 'stay':65 'success':235 'system':112,127 'thing':61 'think':221 'time':242 'timer':16,184,198,213 'trigger':145,157 'two':80 'ua':25,73 'use':2,13 'v':10,82 'vagu':140 've':234 'vector':152 'wake':162 'watchdog':15 'wdt':143,155 'whatev':42 'word':124 'year':76"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://voltage.vn/comment/169759"
  +editedAt: null
  +createdAt: DateTimeImmutable @1692356808 {#1377
    date: 2023-08-18 13:06:48.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\EntryComment {#1394
  +user: Proxies\__CG__\App\Entity\User {#1369 …}
  +entry: App\Entity\Entry {#1810 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "askelectronics@discuss.tchncs.de"
    +title: "askelectronics"
    +description: """
      **For questions about component-level electronic circuits, tools and equipment.**\n
      \n
      Rules\n
      -----\n
      \n
      1: Be nice.\n
      \n
      2: Be on-topic (eg: *Electronic*, not *electrical*).\n
      \n
      3: No commercial stuff, buying, selling or valuations.\n
      \n
      4: Be safe.\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 154
    +entryCommentCount: 1230
    +postCount: 1
    +postCommentCount: 4
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729413608 {#323
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 11
    +apId: "askelectronics@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
    +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
    +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "askelectronics"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727247714 {#317
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#316
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2476 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2466 …}
  +body: """
    I use the Attiny10 in this context. At 3.5V operation and using the Watchdog timer + deep sleep… that should cost you about 4.5 uA when the lamp is off. Then a bit more when it is on (about 40uA assuming whatever the GPIO is connected to is high impedance), as you have to enable the I/O clock (but most things and peripherals can stay off). So an average consumption of 10.4 uA, or 31 years of operation off two 1.5V cells – of course they’re not rated for this long and the actual light will consume far far more power. The point is that the current consumption of the system is absolutely dominated by the light-producing component, in other words the control system is highly efficient.\n
    \n
    You can implement as a state machine, e.g. something vaguely like:\n
    \n
    Set WDT to trigger an interrupt instead of the RESET vector. Then set WDT to trigger after 8s. Then on wake increment a register (you will need 2 registers, 8 bits isn’t enough). Compare these registers to constants that set the timer duration. On compare match, change the machine state.\n
    \n
    Machine state 1: GPIO HIGH, timer duration 4h, I/O clock enabled. CPU sleep mode IDLE. Machine state 2: GPIO LOW, timer duration 20h, sleep mode POWER DOWN.\n
    \n
    I think in assembly language but should be a similar process in C++. I’ve successfully implemented very similar (night-light timing) algorithms on this chip. I can’t give you power consumption metrics as none have ever run out of power over the past 6 months.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1692356808 {#1605
    date: 2023-08-18 13:06:48.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@P03@lemmy.world"
    "@sokkies@lemmyrs.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2288 …}
  +nested: Doctrine\ORM\PersistentCollection {#2166 …}
  +votes: Doctrine\ORM\PersistentCollection {#2427 …}
  +reports: Doctrine\ORM\PersistentCollection {#2426 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2488 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1841 …}
  -id: 26148
  -bodyTs: "'1':195 '1.5':81 '10.4':72 '2':169,210 '20h':215 '3.5':9 '31':75 '4.5':24 '40ua':40 '4h':200 '6':266 '8':171 '8s':159 'absolut':114 'actual':95 'algorithm':243 'assembl':223 'assum':41 'attiny10':4 'averag':69 'bit':33,172 'c':232 'cell':83 'chang':189 'chip':246 'clock':58,202 'compar':176,187 'compon':121 'connect':46 'constant':180 'consum':98 'consumpt':70,109,253 'context':7 'control':126 'cost':21 'cours':85 'cpu':204 'current':108 'deep':17 'domin':115 'durat':185,199,214 'e.g':138 'effici':130 'enabl':55,203 'enough':175 'ever':258 'far':99,100 'give':250 'gpio':44,196,211 'high':49,129,197 'i/o':57,201 'idl':207 'imped':50 'implement':133,236 'increment':163 'instead':148 'interrupt':147 'isn':173 'lamp':28 'languag':224 'light':96,119,241 'light-produc':118 'like':141 'long':92 'low':212 'machin':137,191,193,208 'match':188 'metric':254 'mode':206,217 'month':267 'need':168 'night':240 'night-light':239 'none':256 'oper':11,78 'past':265 'peripher':63 'point':104 'power':102,218,252,262 'process':230 'produc':120 'rate':89 're':87 'regist':165,170,178 'reset':151 'run':259 'set':142,154,182 'similar':229,238 'sleep':18,205,216 'someth':139 'state':136,192,194,209 'stay':65 'success':235 'system':112,127 'thing':61 'think':221 'time':242 'timer':16,184,198,213 'trigger':145,157 'two':80 'ua':25,73 'use':2,13 'v':10,82 'vagu':140 've':234 'vector':152 'wake':162 'watchdog':15 'wdt':143,155 'whatev':42 'word':124 'year':76"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://voltage.vn/comment/169759"
  +editedAt: null
  +createdAt: DateTimeImmutable @1692356808 {#1377
    date: 2023-08-18 13:06:48.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\EntryComment {#1394
  +user: Proxies\__CG__\App\Entity\User {#1369 …}
  +entry: App\Entity\Entry {#1810 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "askelectronics@discuss.tchncs.de"
    +title: "askelectronics"
    +description: """
      **For questions about component-level electronic circuits, tools and equipment.**\n
      \n
      Rules\n
      -----\n
      \n
      1: Be nice.\n
      \n
      2: Be on-topic (eg: *Electronic*, not *electrical*).\n
      \n
      3: No commercial stuff, buying, selling or valuations.\n
      \n
      4: Be safe.\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 154
    +entryCommentCount: 1230
    +postCount: 1
    +postCommentCount: 4
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729413608 {#323
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 11
    +apId: "askelectronics@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
    +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
    +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "askelectronics"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727247714 {#317
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#316
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2476 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2466 …}
  +body: """
    I use the Attiny10 in this context. At 3.5V operation and using the Watchdog timer + deep sleep… that should cost you about 4.5 uA when the lamp is off. Then a bit more when it is on (about 40uA assuming whatever the GPIO is connected to is high impedance), as you have to enable the I/O clock (but most things and peripherals can stay off). So an average consumption of 10.4 uA, or 31 years of operation off two 1.5V cells – of course they’re not rated for this long and the actual light will consume far far more power. The point is that the current consumption of the system is absolutely dominated by the light-producing component, in other words the control system is highly efficient.\n
    \n
    You can implement as a state machine, e.g. something vaguely like:\n
    \n
    Set WDT to trigger an interrupt instead of the RESET vector. Then set WDT to trigger after 8s. Then on wake increment a register (you will need 2 registers, 8 bits isn’t enough). Compare these registers to constants that set the timer duration. On compare match, change the machine state.\n
    \n
    Machine state 1: GPIO HIGH, timer duration 4h, I/O clock enabled. CPU sleep mode IDLE. Machine state 2: GPIO LOW, timer duration 20h, sleep mode POWER DOWN.\n
    \n
    I think in assembly language but should be a similar process in C++. I’ve successfully implemented very similar (night-light timing) algorithms on this chip. I can’t give you power consumption metrics as none have ever run out of power over the past 6 months.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1692356808 {#1605
    date: 2023-08-18 13:06:48.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@P03@lemmy.world"
    "@sokkies@lemmyrs.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2288 …}
  +nested: Doctrine\ORM\PersistentCollection {#2166 …}
  +votes: Doctrine\ORM\PersistentCollection {#2427 …}
  +reports: Doctrine\ORM\PersistentCollection {#2426 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2488 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1841 …}
  -id: 26148
  -bodyTs: "'1':195 '1.5':81 '10.4':72 '2':169,210 '20h':215 '3.5':9 '31':75 '4.5':24 '40ua':40 '4h':200 '6':266 '8':171 '8s':159 'absolut':114 'actual':95 'algorithm':243 'assembl':223 'assum':41 'attiny10':4 'averag':69 'bit':33,172 'c':232 'cell':83 'chang':189 'chip':246 'clock':58,202 'compar':176,187 'compon':121 'connect':46 'constant':180 'consum':98 'consumpt':70,109,253 'context':7 'control':126 'cost':21 'cours':85 'cpu':204 'current':108 'deep':17 'domin':115 'durat':185,199,214 'e.g':138 'effici':130 'enabl':55,203 'enough':175 'ever':258 'far':99,100 'give':250 'gpio':44,196,211 'high':49,129,197 'i/o':57,201 'idl':207 'imped':50 'implement':133,236 'increment':163 'instead':148 'interrupt':147 'isn':173 'lamp':28 'languag':224 'light':96,119,241 'light-produc':118 'like':141 'long':92 'low':212 'machin':137,191,193,208 'match':188 'metric':254 'mode':206,217 'month':267 'need':168 'night':240 'night-light':239 'none':256 'oper':11,78 'past':265 'peripher':63 'point':104 'power':102,218,252,262 'process':230 'produc':120 'rate':89 're':87 'regist':165,170,178 'reset':151 'run':259 'set':142,154,182 'similar':229,238 'sleep':18,205,216 'someth':139 'state':136,192,194,209 'stay':65 'success':235 'system':112,127 'thing':61 'think':221 'time':242 'timer':16,184,198,213 'trigger':145,157 'two':80 'ua':25,73 'use':2,13 'v':10,82 'vagu':140 've':234 'vector':152 'wake':162 'watchdog':15 'wdt':143,155 'whatev':42 'word':124 'year':76"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://voltage.vn/comment/169759"
  +editedAt: null
  +createdAt: DateTimeImmutable @1692356808 {#1377
    date: 2023-08-18 13:06:48.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#313
  +icon: Proxies\__CG__\App\Entity\Image {#294 …}
  +name: "askelectronics@discuss.tchncs.de"
  +title: "askelectronics"
  +description: """
    **For questions about component-level electronic circuits, tools and equipment.**\n
    \n
    Rules\n
    -----\n
    \n
    1: Be nice.\n
    \n
    2: Be on-topic (eg: *Electronic*, not *electrical*).\n
    \n
    3: No commercial stuff, buying, selling or valuations.\n
    \n
    4: Be safe.\n
    \n
    ---
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 154
  +entryCommentCount: 1230
  +postCount: 1
  +postCommentCount: 4
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729413608 {#323
    date: 2024-10-20 10:40:08.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#285 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
  +entries: Doctrine\ORM\PersistentCollection {#228 …}
  +posts: Doctrine\ORM\PersistentCollection {#186 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
  +bans: Doctrine\ORM\PersistentCollection {#165 …}
  +reports: Doctrine\ORM\PersistentCollection {#151 …}
  +badges: Doctrine\ORM\PersistentCollection {#129 …}
  +logs: Doctrine\ORM\PersistentCollection {#119 …}
  +awards: Doctrine\ORM\PersistentCollection {#108 …}
  +categories: Doctrine\ORM\PersistentCollection {#95 …}
  -id: 11
  +apId: "askelectronics@discuss.tchncs.de"
  +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
  +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
  +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
  +apInboxUrl: "https://discuss.tchncs.de/inbox"
  +apDomain: "discuss.tchncs.de"
  +apPreferredUsername: "askelectronics"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1727247714 {#317
    date: 2024-09-25 09:01:54.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1687144409 {#316
    date: 2023-06-19 05:13:29.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details