Redirect 302 redirect from GET @messages_create (4e7765)

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 …}
}
1.12 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.05 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\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +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 {#275
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -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 {#269
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#271
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
  +slug: "Simultaneous-joystick-3-axis-protocol"
  +title: "Simultaneous joystick 3-axis protocol"
  +url: null
  +body: """
    Working on a joystick. Seems like any protocol I use to read from peripherals is going to be bottlenecked by having just one input. My microcontroller might have multiple ADCs, but there’s just one processor stepping through them. Same for spi, or i2c, or uart. There’s really only ever one sensor reporting back its data at a time.\n
    \n
    I know this might not matter for measurement resolution. Especially if you’re polling at like 115k serial or something, but…\n
    \n
    That’s 8 bits per axis, and three axis. Now that’s at least 34 bits. To sample each axis we’re down to only 4.5k samples per second. Plus whatever other cycles the controller has to handle… even if I spent half that time doing microcontrolle cycles at like 2k we’re probably still well with the best star craft apms or whatever. I’d still like to find some way to really over engineer this thing.\n
    \n
    I read a little about tdm, but that’s out of my league and I don’t know if you could even have 3 simultaneously signals that way\n
    \n
    I’m thinking a microcontroller for each axis, and a usb port for each of them. So it appears like 3 different controllers to the computer. The user would just have to map the axis from the 3 controllers into 1 in their game software. I assume the steam remapping could do this.\n
    \n
    Is it just going to get smashed back into one thread in the computer’s usb hub anyway?\n
    \n
    Any other suggestions?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 3
  +favouriteCount: 2
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1726402203 {#2414
    date: 2024-09-15 14:10:03.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1884 …}
  +votes: Doctrine\ORM\PersistentCollection {#1973 …}
  +reports: Doctrine\ORM\PersistentCollection {#1959 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
  +badges: Doctrine\ORM\PersistentCollection {#2440 …}
  +children: []
  -id: 31399
  -titleTs: "'3':3 'axi':4 'joystick':2 'protocol':5 'simultan':1"
  -bodyTs: "'1':229 '115k':77 '2k':133 '3':184,209,226 '34':96 '4.5':107 '8':84 'adc':30 'anyway':259 'apm':144 'appear':207 'assum':235 'axi':87,90,101,196,223 'back':55,249 'best':141 'bit':85,97 'bottleneck':19 'comput':214,255 'control':117,211,227 'could':181,239 'craft':143 'cycl':115,130 'd':148 'data':57 'differ':210 'engin':158 'especi':70 'even':121,182 'ever':51 'find':152 'game':232 'get':247 'go':16,245 'half':125 'handl':120 'hub':258 'i2c':44 'input':24 'joystick':4 'k':108 'know':62,178 'leagu':173 'least':95 'like':6,76,132,150,208 'littl':164 'm':190 'map':221 'matter':66 'measur':68 'microcontrol':26,193 'microcontroll':129 'might':27,64 'multipl':29 'one':23,35,52,251 'per':86,110 'peripher':14 'plus':112 'poll':74 'port':200 'probabl':136 'processor':36 'protocol':8 're':73,103,135 'read':12,162 'realli':49,156 'remap':238 'report':54 'resolut':69 'sampl':99,109 'second':111 'seem':5 'sensor':53 'serial':78 'signal':186 'simultan':185 'smash':248 'softwar':233 'someth':80 'spent':124 'spi':42 'star':142 'steam':237 'step':37 'still':137,149 'suggest':262 'tdm':166 'thing':160 'think':191 'thread':252 'three':89 'time':60,127 'uart':46 'usb':199,257 'use':10 'user':216 'way':154,188 'well':138 'whatev':113,146 'work':1 'would':217"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705574416
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10852531"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705550416 {#1793
    date: 2024-01-18 05:00:16.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +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 {#275
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -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 {#269
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#271
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
  +slug: "Simultaneous-joystick-3-axis-protocol"
  +title: "Simultaneous joystick 3-axis protocol"
  +url: null
  +body: """
    Working on a joystick. Seems like any protocol I use to read from peripherals is going to be bottlenecked by having just one input. My microcontroller might have multiple ADCs, but there’s just one processor stepping through them. Same for spi, or i2c, or uart. There’s really only ever one sensor reporting back its data at a time.\n
    \n
    I know this might not matter for measurement resolution. Especially if you’re polling at like 115k serial or something, but…\n
    \n
    That’s 8 bits per axis, and three axis. Now that’s at least 34 bits. To sample each axis we’re down to only 4.5k samples per second. Plus whatever other cycles the controller has to handle… even if I spent half that time doing microcontrolle cycles at like 2k we’re probably still well with the best star craft apms or whatever. I’d still like to find some way to really over engineer this thing.\n
    \n
    I read a little about tdm, but that’s out of my league and I don’t know if you could even have 3 simultaneously signals that way\n
    \n
    I’m thinking a microcontroller for each axis, and a usb port for each of them. So it appears like 3 different controllers to the computer. The user would just have to map the axis from the 3 controllers into 1 in their game software. I assume the steam remapping could do this.\n
    \n
    Is it just going to get smashed back into one thread in the computer’s usb hub anyway?\n
    \n
    Any other suggestions?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 3
  +favouriteCount: 2
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1726402203 {#2414
    date: 2024-09-15 14:10:03.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1884 …}
  +votes: Doctrine\ORM\PersistentCollection {#1973 …}
  +reports: Doctrine\ORM\PersistentCollection {#1959 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
  +badges: Doctrine\ORM\PersistentCollection {#2440 …}
  +children: []
  -id: 31399
  -titleTs: "'3':3 'axi':4 'joystick':2 'protocol':5 'simultan':1"
  -bodyTs: "'1':229 '115k':77 '2k':133 '3':184,209,226 '34':96 '4.5':107 '8':84 'adc':30 'anyway':259 'apm':144 'appear':207 'assum':235 'axi':87,90,101,196,223 'back':55,249 'best':141 'bit':85,97 'bottleneck':19 'comput':214,255 'control':117,211,227 'could':181,239 'craft':143 'cycl':115,130 'd':148 'data':57 'differ':210 'engin':158 'especi':70 'even':121,182 'ever':51 'find':152 'game':232 'get':247 'go':16,245 'half':125 'handl':120 'hub':258 'i2c':44 'input':24 'joystick':4 'k':108 'know':62,178 'leagu':173 'least':95 'like':6,76,132,150,208 'littl':164 'm':190 'map':221 'matter':66 'measur':68 'microcontrol':26,193 'microcontroll':129 'might':27,64 'multipl':29 'one':23,35,52,251 'per':86,110 'peripher':14 'plus':112 'poll':74 'port':200 'probabl':136 'processor':36 'protocol':8 're':73,103,135 'read':12,162 'realli':49,156 'remap':238 'report':54 'resolut':69 'sampl':99,109 'second':111 'seem':5 'sensor':53 'serial':78 'signal':186 'simultan':185 'smash':248 'softwar':233 'someth':80 'spent':124 'spi':42 'star':142 'steam':237 'step':37 'still':137,149 'suggest':262 'tdm':166 'thing':160 'think':191 'thread':252 'three':89 'time':60,127 'uart':46 'usb':199,257 'use':10 'user':216 'way':154,188 'well':138 'whatev':113,146 'work':1 'would':217"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705574416
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10852531"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705550416 {#1793
    date: 2024-01-18 05:00:16.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +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 {#275
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -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 {#269
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#271
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
  +slug: "Simultaneous-joystick-3-axis-protocol"
  +title: "Simultaneous joystick 3-axis protocol"
  +url: null
  +body: """
    Working on a joystick. Seems like any protocol I use to read from peripherals is going to be bottlenecked by having just one input. My microcontroller might have multiple ADCs, but there’s just one processor stepping through them. Same for spi, or i2c, or uart. There’s really only ever one sensor reporting back its data at a time.\n
    \n
    I know this might not matter for measurement resolution. Especially if you’re polling at like 115k serial or something, but…\n
    \n
    That’s 8 bits per axis, and three axis. Now that’s at least 34 bits. To sample each axis we’re down to only 4.5k samples per second. Plus whatever other cycles the controller has to handle… even if I spent half that time doing microcontrolle cycles at like 2k we’re probably still well with the best star craft apms or whatever. I’d still like to find some way to really over engineer this thing.\n
    \n
    I read a little about tdm, but that’s out of my league and I don’t know if you could even have 3 simultaneously signals that way\n
    \n
    I’m thinking a microcontroller for each axis, and a usb port for each of them. So it appears like 3 different controllers to the computer. The user would just have to map the axis from the 3 controllers into 1 in their game software. I assume the steam remapping could do this.\n
    \n
    Is it just going to get smashed back into one thread in the computer’s usb hub anyway?\n
    \n
    Any other suggestions?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 3
  +favouriteCount: 2
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1726402203 {#2414
    date: 2024-09-15 14:10:03.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1884 …}
  +votes: Doctrine\ORM\PersistentCollection {#1973 …}
  +reports: Doctrine\ORM\PersistentCollection {#1959 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
  +badges: Doctrine\ORM\PersistentCollection {#2440 …}
  +children: []
  -id: 31399
  -titleTs: "'3':3 'axi':4 'joystick':2 'protocol':5 'simultan':1"
  -bodyTs: "'1':229 '115k':77 '2k':133 '3':184,209,226 '34':96 '4.5':107 '8':84 'adc':30 'anyway':259 'apm':144 'appear':207 'assum':235 'axi':87,90,101,196,223 'back':55,249 'best':141 'bit':85,97 'bottleneck':19 'comput':214,255 'control':117,211,227 'could':181,239 'craft':143 'cycl':115,130 'd':148 'data':57 'differ':210 'engin':158 'especi':70 'even':121,182 'ever':51 'find':152 'game':232 'get':247 'go':16,245 'half':125 'handl':120 'hub':258 'i2c':44 'input':24 'joystick':4 'k':108 'know':62,178 'leagu':173 'least':95 'like':6,76,132,150,208 'littl':164 'm':190 'map':221 'matter':66 'measur':68 'microcontrol':26,193 'microcontroll':129 'might':27,64 'multipl':29 'one':23,35,52,251 'per':86,110 'peripher':14 'plus':112 'poll':74 'port':200 'probabl':136 'processor':36 'protocol':8 're':73,103,135 'read':12,162 'realli':49,156 'remap':238 'report':54 'resolut':69 'sampl':99,109 'second':111 'seem':5 'sensor':53 'serial':78 'signal':186 'simultan':185 'smash':248 'softwar':233 'someth':80 'spent':124 'spi':42 'star':142 'steam':237 'step':37 'still':137,149 'suggest':262 'tdm':166 'thing':160 'think':191 'thread':252 'three':89 'time':60,127 'uart':46 'usb':199,257 'use':10 'user':216 'way':154,188 'well':138 'whatev':113,146 'work':1 'would':217"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705574416
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10852531"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705550416 {#1793
    date: 2024-01-18 05:00:16.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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 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
6 DENIED moderate
App\Entity\EntryComment {#4019
  +user: App\Entity\User {#3967 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-20 10:40:08.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-25 09:01:54.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687144409 {#271
        date: 2023-06-19 05:13:29.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Simultaneous-joystick-3-axis-protocol"
    +title: "Simultaneous joystick 3-axis protocol"
    +url: null
    +body: """
      Working on a joystick. Seems like any protocol I use to read from peripherals is going to be bottlenecked by having just one input. My microcontroller might have multiple ADCs, but there’s just one processor stepping through them. Same for spi, or i2c, or uart. There’s really only ever one sensor reporting back its data at a time.\n
      \n
      I know this might not matter for measurement resolution. Especially if you’re polling at like 115k serial or something, but…\n
      \n
      That’s 8 bits per axis, and three axis. Now that’s at least 34 bits. To sample each axis we’re down to only 4.5k samples per second. Plus whatever other cycles the controller has to handle… even if I spent half that time doing microcontrolle cycles at like 2k we’re probably still well with the best star craft apms or whatever. I’d still like to find some way to really over engineer this thing.\n
      \n
      I read a little about tdm, but that’s out of my league and I don’t know if you could even have 3 simultaneously signals that way\n
      \n
      I’m thinking a microcontroller for each axis, and a usb port for each of them. So it appears like 3 different controllers to the computer. The user would just have to map the axis from the 3 controllers into 1 in their game software. I assume the steam remapping could do this.\n
      \n
      Is it just going to get smashed back into one thread in the computer’s usb hub anyway?\n
      \n
      Any other suggestions?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726402203 {#2414
      date: 2024-09-15 14:10:03.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 31399
    -titleTs: "'3':3 'axi':4 'joystick':2 'protocol':5 'simultan':1"
    -bodyTs: "'1':229 '115k':77 '2k':133 '3':184,209,226 '34':96 '4.5':107 '8':84 'adc':30 'anyway':259 'apm':144 'appear':207 'assum':235 'axi':87,90,101,196,223 'back':55,249 'best':141 'bit':85,97 'bottleneck':19 'comput':214,255 'control':117,211,227 'could':181,239 'craft':143 'cycl':115,130 'd':148 'data':57 'differ':210 'engin':158 'especi':70 'even':121,182 'ever':51 'find':152 'game':232 'get':247 'go':16,245 'half':125 'handl':120 'hub':258 'i2c':44 'input':24 'joystick':4 'k':108 'know':62,178 'leagu':173 'least':95 'like':6,76,132,150,208 'littl':164 'm':190 'map':221 'matter':66 'measur':68 'microcontrol':26,193 'microcontroll':129 'might':27,64 'multipl':29 'one':23,35,52,251 'per':86,110 'peripher':14 'plus':112 'poll':74 'port':200 'probabl':136 'processor':36 'protocol':8 're':73,103,135 'read':12,162 'realli':49,156 'remap':238 'report':54 'resolut':69 'sampl':99,109 'second':111 'seem':5 'sensor':53 'serial':78 'signal':186 'simultan':185 'smash':248 'softwar':233 'someth':80 'spent':124 'spi':42 'star':142 'steam':237 'step':37 'still':137,149 'suggest':262 'tdm':166 'thing':160 'think':191 'thread':252 'three':89 'time':60,127 'uart':46 'usb':199,257 'use':10 'user':216 'way':154,188 'well':138 'whatev':113,146 'work':1 'would':217"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705574416
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10852531"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705550416 {#1793
      date: 2024-01-18 05:00:16.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Honestly… I kinda think three microcontrollers is way overcomplicating things preemptively. I would try just a single MCU first, and see if the response time is adequate. If there’s any sort of noticeable input lag or delay, then try the multiple MCU route."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1705551613 {#4028
    date: 2024-01-18 05:20:13.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@half_built_pyramids@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4017 …}
  +nested: Doctrine\ORM\PersistentCollection {#4015 …}
  +votes: Doctrine\ORM\PersistentCollection {#4013 …}
  +reports: Doctrine\ORM\PersistentCollection {#4011 …}
  +favourites: Doctrine\ORM\PersistentCollection {#3979 …}
  +notifications: Doctrine\ORM\PersistentCollection {#3983 …}
  -id: 318400
  -bodyTs: "'adequ':27 'delay':38 'first':19 'honest':1 'input':35 'kinda':3 'lag':36 'mcu':18,43 'microcontrol':6 'multipl':42 'notic':34 'overcompl':9 'preemptiv':11 'respons':24 'rout':44 'see':21 'singl':17 'sort':32 'thing':10 'think':4 'three':5 'time':25 'tri':14,40 'way':8 'would':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.blahaj.zone/comment/5762100"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705551613 {#3964
    date: 2024-01-18 05:20:13.0 +01: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
7 DENIED edit
App\Entity\EntryComment {#4019
  +user: App\Entity\User {#3967 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-20 10:40:08.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-25 09:01:54.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687144409 {#271
        date: 2023-06-19 05:13:29.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Simultaneous-joystick-3-axis-protocol"
    +title: "Simultaneous joystick 3-axis protocol"
    +url: null
    +body: """
      Working on a joystick. Seems like any protocol I use to read from peripherals is going to be bottlenecked by having just one input. My microcontroller might have multiple ADCs, but there’s just one processor stepping through them. Same for spi, or i2c, or uart. There’s really only ever one sensor reporting back its data at a time.\n
      \n
      I know this might not matter for measurement resolution. Especially if you’re polling at like 115k serial or something, but…\n
      \n
      That’s 8 bits per axis, and three axis. Now that’s at least 34 bits. To sample each axis we’re down to only 4.5k samples per second. Plus whatever other cycles the controller has to handle… even if I spent half that time doing microcontrolle cycles at like 2k we’re probably still well with the best star craft apms or whatever. I’d still like to find some way to really over engineer this thing.\n
      \n
      I read a little about tdm, but that’s out of my league and I don’t know if you could even have 3 simultaneously signals that way\n
      \n
      I’m thinking a microcontroller for each axis, and a usb port for each of them. So it appears like 3 different controllers to the computer. The user would just have to map the axis from the 3 controllers into 1 in their game software. I assume the steam remapping could do this.\n
      \n
      Is it just going to get smashed back into one thread in the computer’s usb hub anyway?\n
      \n
      Any other suggestions?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726402203 {#2414
      date: 2024-09-15 14:10:03.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 31399
    -titleTs: "'3':3 'axi':4 'joystick':2 'protocol':5 'simultan':1"
    -bodyTs: "'1':229 '115k':77 '2k':133 '3':184,209,226 '34':96 '4.5':107 '8':84 'adc':30 'anyway':259 'apm':144 'appear':207 'assum':235 'axi':87,90,101,196,223 'back':55,249 'best':141 'bit':85,97 'bottleneck':19 'comput':214,255 'control':117,211,227 'could':181,239 'craft':143 'cycl':115,130 'd':148 'data':57 'differ':210 'engin':158 'especi':70 'even':121,182 'ever':51 'find':152 'game':232 'get':247 'go':16,245 'half':125 'handl':120 'hub':258 'i2c':44 'input':24 'joystick':4 'k':108 'know':62,178 'leagu':173 'least':95 'like':6,76,132,150,208 'littl':164 'm':190 'map':221 'matter':66 'measur':68 'microcontrol':26,193 'microcontroll':129 'might':27,64 'multipl':29 'one':23,35,52,251 'per':86,110 'peripher':14 'plus':112 'poll':74 'port':200 'probabl':136 'processor':36 'protocol':8 're':73,103,135 'read':12,162 'realli':49,156 'remap':238 'report':54 'resolut':69 'sampl':99,109 'second':111 'seem':5 'sensor':53 'serial':78 'signal':186 'simultan':185 'smash':248 'softwar':233 'someth':80 'spent':124 'spi':42 'star':142 'steam':237 'step':37 'still':137,149 'suggest':262 'tdm':166 'thing':160 'think':191 'thread':252 'three':89 'time':60,127 'uart':46 'usb':199,257 'use':10 'user':216 'way':154,188 'well':138 'whatev':113,146 'work':1 'would':217"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705574416
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10852531"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705550416 {#1793
      date: 2024-01-18 05:00:16.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Honestly… I kinda think three microcontrollers is way overcomplicating things preemptively. I would try just a single MCU first, and see if the response time is adequate. If there’s any sort of noticeable input lag or delay, then try the multiple MCU route."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1705551613 {#4028
    date: 2024-01-18 05:20:13.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@half_built_pyramids@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4017 …}
  +nested: Doctrine\ORM\PersistentCollection {#4015 …}
  +votes: Doctrine\ORM\PersistentCollection {#4013 …}
  +reports: Doctrine\ORM\PersistentCollection {#4011 …}
  +favourites: Doctrine\ORM\PersistentCollection {#3979 …}
  +notifications: Doctrine\ORM\PersistentCollection {#3983 …}
  -id: 318400
  -bodyTs: "'adequ':27 'delay':38 'first':19 'honest':1 'input':35 'kinda':3 'lag':36 'mcu':18,43 'microcontrol':6 'multipl':42 'notic':34 'overcompl':9 'preemptiv':11 'respons':24 'rout':44 'see':21 'singl':17 'sort':32 'thing':10 'think':4 'three':5 'time':25 'tri':14,40 'way':8 'would':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.blahaj.zone/comment/5762100"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705551613 {#3964
    date: 2024-01-18 05:20:13.0 +01: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
8 DENIED moderate
App\Entity\EntryComment {#4019
  +user: App\Entity\User {#3967 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-20 10:40:08.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-25 09:01:54.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687144409 {#271
        date: 2023-06-19 05:13:29.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Simultaneous-joystick-3-axis-protocol"
    +title: "Simultaneous joystick 3-axis protocol"
    +url: null
    +body: """
      Working on a joystick. Seems like any protocol I use to read from peripherals is going to be bottlenecked by having just one input. My microcontroller might have multiple ADCs, but there’s just one processor stepping through them. Same for spi, or i2c, or uart. There’s really only ever one sensor reporting back its data at a time.\n
      \n
      I know this might not matter for measurement resolution. Especially if you’re polling at like 115k serial or something, but…\n
      \n
      That’s 8 bits per axis, and three axis. Now that’s at least 34 bits. To sample each axis we’re down to only 4.5k samples per second. Plus whatever other cycles the controller has to handle… even if I spent half that time doing microcontrolle cycles at like 2k we’re probably still well with the best star craft apms or whatever. I’d still like to find some way to really over engineer this thing.\n
      \n
      I read a little about tdm, but that’s out of my league and I don’t know if you could even have 3 simultaneously signals that way\n
      \n
      I’m thinking a microcontroller for each axis, and a usb port for each of them. So it appears like 3 different controllers to the computer. The user would just have to map the axis from the 3 controllers into 1 in their game software. I assume the steam remapping could do this.\n
      \n
      Is it just going to get smashed back into one thread in the computer’s usb hub anyway?\n
      \n
      Any other suggestions?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726402203 {#2414
      date: 2024-09-15 14:10:03.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 31399
    -titleTs: "'3':3 'axi':4 'joystick':2 'protocol':5 'simultan':1"
    -bodyTs: "'1':229 '115k':77 '2k':133 '3':184,209,226 '34':96 '4.5':107 '8':84 'adc':30 'anyway':259 'apm':144 'appear':207 'assum':235 'axi':87,90,101,196,223 'back':55,249 'best':141 'bit':85,97 'bottleneck':19 'comput':214,255 'control':117,211,227 'could':181,239 'craft':143 'cycl':115,130 'd':148 'data':57 'differ':210 'engin':158 'especi':70 'even':121,182 'ever':51 'find':152 'game':232 'get':247 'go':16,245 'half':125 'handl':120 'hub':258 'i2c':44 'input':24 'joystick':4 'k':108 'know':62,178 'leagu':173 'least':95 'like':6,76,132,150,208 'littl':164 'm':190 'map':221 'matter':66 'measur':68 'microcontrol':26,193 'microcontroll':129 'might':27,64 'multipl':29 'one':23,35,52,251 'per':86,110 'peripher':14 'plus':112 'poll':74 'port':200 'probabl':136 'processor':36 'protocol':8 're':73,103,135 'read':12,162 'realli':49,156 'remap':238 'report':54 'resolut':69 'sampl':99,109 'second':111 'seem':5 'sensor':53 'serial':78 'signal':186 'simultan':185 'smash':248 'softwar':233 'someth':80 'spent':124 'spi':42 'star':142 'steam':237 'step':37 'still':137,149 'suggest':262 'tdm':166 'thing':160 'think':191 'thread':252 'three':89 'time':60,127 'uart':46 'usb':199,257 'use':10 'user':216 'way':154,188 'well':138 'whatev':113,146 'work':1 'would':217"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705574416
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10852531"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705550416 {#1793
      date: 2024-01-18 05:00:16.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Honestly… I kinda think three microcontrollers is way overcomplicating things preemptively. I would try just a single MCU first, and see if the response time is adequate. If there’s any sort of noticeable input lag or delay, then try the multiple MCU route."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1705551613 {#4028
    date: 2024-01-18 05:20:13.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@half_built_pyramids@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4017 …}
  +nested: Doctrine\ORM\PersistentCollection {#4015 …}
  +votes: Doctrine\ORM\PersistentCollection {#4013 …}
  +reports: Doctrine\ORM\PersistentCollection {#4011 …}
  +favourites: Doctrine\ORM\PersistentCollection {#3979 …}
  +notifications: Doctrine\ORM\PersistentCollection {#3983 …}
  -id: 318400
  -bodyTs: "'adequ':27 'delay':38 'first':19 'honest':1 'input':35 'kinda':3 'lag':36 'mcu':18,43 'microcontrol':6 'multipl':42 'notic':34 'overcompl':9 'preemptiv':11 'respons':24 'rout':44 'see':21 'singl':17 'sort':32 'thing':10 'think':4 'three':5 'time':25 'tri':14,40 'way':8 'would':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.blahaj.zone/comment/5762100"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705551613 {#3964
    date: 2024-01-18 05:20:13.0 +01: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
9 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
10 DENIED moderate
App\Entity\EntryComment {#4051
  +user: App\Entity\User {#4040 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-20 10:40:08.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-25 09:01:54.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687144409 {#271
        date: 2023-06-19 05:13:29.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Simultaneous-joystick-3-axis-protocol"
    +title: "Simultaneous joystick 3-axis protocol"
    +url: null
    +body: """
      Working on a joystick. Seems like any protocol I use to read from peripherals is going to be bottlenecked by having just one input. My microcontroller might have multiple ADCs, but there’s just one processor stepping through them. Same for spi, or i2c, or uart. There’s really only ever one sensor reporting back its data at a time.\n
      \n
      I know this might not matter for measurement resolution. Especially if you’re polling at like 115k serial or something, but…\n
      \n
      That’s 8 bits per axis, and three axis. Now that’s at least 34 bits. To sample each axis we’re down to only 4.5k samples per second. Plus whatever other cycles the controller has to handle… even if I spent half that time doing microcontrolle cycles at like 2k we’re probably still well with the best star craft apms or whatever. I’d still like to find some way to really over engineer this thing.\n
      \n
      I read a little about tdm, but that’s out of my league and I don’t know if you could even have 3 simultaneously signals that way\n
      \n
      I’m thinking a microcontroller for each axis, and a usb port for each of them. So it appears like 3 different controllers to the computer. The user would just have to map the axis from the 3 controllers into 1 in their game software. I assume the steam remapping could do this.\n
      \n
      Is it just going to get smashed back into one thread in the computer’s usb hub anyway?\n
      \n
      Any other suggestions?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726402203 {#2414
      date: 2024-09-15 14:10:03.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 31399
    -titleTs: "'3':3 'axi':4 'joystick':2 'protocol':5 'simultan':1"
    -bodyTs: "'1':229 '115k':77 '2k':133 '3':184,209,226 '34':96 '4.5':107 '8':84 'adc':30 'anyway':259 'apm':144 'appear':207 'assum':235 'axi':87,90,101,196,223 'back':55,249 'best':141 'bit':85,97 'bottleneck':19 'comput':214,255 'control':117,211,227 'could':181,239 'craft':143 'cycl':115,130 'd':148 'data':57 'differ':210 'engin':158 'especi':70 'even':121,182 'ever':51 'find':152 'game':232 'get':247 'go':16,245 'half':125 'handl':120 'hub':258 'i2c':44 'input':24 'joystick':4 'k':108 'know':62,178 'leagu':173 'least':95 'like':6,76,132,150,208 'littl':164 'm':190 'map':221 'matter':66 'measur':68 'microcontrol':26,193 'microcontroll':129 'might':27,64 'multipl':29 'one':23,35,52,251 'per':86,110 'peripher':14 'plus':112 'poll':74 'port':200 'probabl':136 'processor':36 'protocol':8 're':73,103,135 'read':12,162 'realli':49,156 'remap':238 'report':54 'resolut':69 'sampl':99,109 'second':111 'seem':5 'sensor':53 'serial':78 'signal':186 'simultan':185 'smash':248 'softwar':233 'someth':80 'spent':124 'spi':42 'star':142 'steam':237 'step':37 'still':137,149 'suggest':262 'tdm':166 'thing':160 'think':191 'thread':252 'three':89 'time':60,127 'uart':46 'usb':199,257 'use':10 'user':216 'way':154,188 'well':138 'whatev':113,146 'work':1 'would':217"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705574416
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10852531"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705550416 {#1793
      date: 2024-01-18 05:00:16.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Only having one ADC can be an issue when you need readings to be in phase, but for reading any sort of human interface device it doesn’t matter at all. Just cycle through your inputs one at a time. Some microcontrollers even have hardware to scan through multiple inputs automatically. You can use DMA to read the ADC and send data out over whatever communication peripherals your microcontroller has without using much CPU time.\n
    \n
    If you are using USB HID, you are limited to a 1000 Hz update rate and that’s really overkill already. You can have up to 8 analog axis in a USB HID game controller plus lots of buttons.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1726402203 {#4057
    date: 2024-09-15 14:10:03.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@half_built_pyramids@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4056 …}
  +nested: Doctrine\ORM\PersistentCollection {#4055 …}
  +votes: Doctrine\ORM\PersistentCollection {#4046 …}
  +reports: Doctrine\ORM\PersistentCollection {#4049 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4044 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4042 …}
  -id: 318410
  -bodyTs: "'1000':87 '8':102 'adc':4,59 'alreadi':96 'analog':103 'automat':51 'axi':104 'button':114 'communic':66 'control':110 'cpu':74 'cycl':33 'data':62 'devic':25 'dma':55 'doesn':27 'even':43 'game':109 'hardwar':45 'hid':81,108 'human':23 'hz':88 'input':36,50 'interfac':24 'issu':8 'limit':84 'lot':112 'matter':29 'microcontrol':42,69 'much':73 'multipl':49 'need':11 'one':3,37 'overkil':95 'peripher':67 'phase':16 'plus':111 'rate':90 'read':12,19,57 'realli':94 'scan':47 'send':61 'sort':21 'time':40,75 'updat':89 'usb':80,107 'use':54,72,79 'whatev':65 'without':71"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/comment/6569260"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705552007 {#4062
    date: 2024-01-18 05:26:47.0 +01: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
11 DENIED edit
App\Entity\EntryComment {#4051
  +user: App\Entity\User {#4040 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-20 10:40:08.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-25 09:01:54.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687144409 {#271
        date: 2023-06-19 05:13:29.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Simultaneous-joystick-3-axis-protocol"
    +title: "Simultaneous joystick 3-axis protocol"
    +url: null
    +body: """
      Working on a joystick. Seems like any protocol I use to read from peripherals is going to be bottlenecked by having just one input. My microcontroller might have multiple ADCs, but there’s just one processor stepping through them. Same for spi, or i2c, or uart. There’s really only ever one sensor reporting back its data at a time.\n
      \n
      I know this might not matter for measurement resolution. Especially if you’re polling at like 115k serial or something, but…\n
      \n
      That’s 8 bits per axis, and three axis. Now that’s at least 34 bits. To sample each axis we’re down to only 4.5k samples per second. Plus whatever other cycles the controller has to handle… even if I spent half that time doing microcontrolle cycles at like 2k we’re probably still well with the best star craft apms or whatever. I’d still like to find some way to really over engineer this thing.\n
      \n
      I read a little about tdm, but that’s out of my league and I don’t know if you could even have 3 simultaneously signals that way\n
      \n
      I’m thinking a microcontroller for each axis, and a usb port for each of them. So it appears like 3 different controllers to the computer. The user would just have to map the axis from the 3 controllers into 1 in their game software. I assume the steam remapping could do this.\n
      \n
      Is it just going to get smashed back into one thread in the computer’s usb hub anyway?\n
      \n
      Any other suggestions?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726402203 {#2414
      date: 2024-09-15 14:10:03.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 31399
    -titleTs: "'3':3 'axi':4 'joystick':2 'protocol':5 'simultan':1"
    -bodyTs: "'1':229 '115k':77 '2k':133 '3':184,209,226 '34':96 '4.5':107 '8':84 'adc':30 'anyway':259 'apm':144 'appear':207 'assum':235 'axi':87,90,101,196,223 'back':55,249 'best':141 'bit':85,97 'bottleneck':19 'comput':214,255 'control':117,211,227 'could':181,239 'craft':143 'cycl':115,130 'd':148 'data':57 'differ':210 'engin':158 'especi':70 'even':121,182 'ever':51 'find':152 'game':232 'get':247 'go':16,245 'half':125 'handl':120 'hub':258 'i2c':44 'input':24 'joystick':4 'k':108 'know':62,178 'leagu':173 'least':95 'like':6,76,132,150,208 'littl':164 'm':190 'map':221 'matter':66 'measur':68 'microcontrol':26,193 'microcontroll':129 'might':27,64 'multipl':29 'one':23,35,52,251 'per':86,110 'peripher':14 'plus':112 'poll':74 'port':200 'probabl':136 'processor':36 'protocol':8 're':73,103,135 'read':12,162 'realli':49,156 'remap':238 'report':54 'resolut':69 'sampl':99,109 'second':111 'seem':5 'sensor':53 'serial':78 'signal':186 'simultan':185 'smash':248 'softwar':233 'someth':80 'spent':124 'spi':42 'star':142 'steam':237 'step':37 'still':137,149 'suggest':262 'tdm':166 'thing':160 'think':191 'thread':252 'three':89 'time':60,127 'uart':46 'usb':199,257 'use':10 'user':216 'way':154,188 'well':138 'whatev':113,146 'work':1 'would':217"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705574416
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10852531"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705550416 {#1793
      date: 2024-01-18 05:00:16.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Only having one ADC can be an issue when you need readings to be in phase, but for reading any sort of human interface device it doesn’t matter at all. Just cycle through your inputs one at a time. Some microcontrollers even have hardware to scan through multiple inputs automatically. You can use DMA to read the ADC and send data out over whatever communication peripherals your microcontroller has without using much CPU time.\n
    \n
    If you are using USB HID, you are limited to a 1000 Hz update rate and that’s really overkill already. You can have up to 8 analog axis in a USB HID game controller plus lots of buttons.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1726402203 {#4057
    date: 2024-09-15 14:10:03.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@half_built_pyramids@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4056 …}
  +nested: Doctrine\ORM\PersistentCollection {#4055 …}
  +votes: Doctrine\ORM\PersistentCollection {#4046 …}
  +reports: Doctrine\ORM\PersistentCollection {#4049 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4044 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4042 …}
  -id: 318410
  -bodyTs: "'1000':87 '8':102 'adc':4,59 'alreadi':96 'analog':103 'automat':51 'axi':104 'button':114 'communic':66 'control':110 'cpu':74 'cycl':33 'data':62 'devic':25 'dma':55 'doesn':27 'even':43 'game':109 'hardwar':45 'hid':81,108 'human':23 'hz':88 'input':36,50 'interfac':24 'issu':8 'limit':84 'lot':112 'matter':29 'microcontrol':42,69 'much':73 'multipl':49 'need':11 'one':3,37 'overkil':95 'peripher':67 'phase':16 'plus':111 'rate':90 'read':12,19,57 'realli':94 'scan':47 'send':61 'sort':21 'time':40,75 'updat':89 'usb':80,107 'use':54,72,79 'whatev':65 'without':71"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/comment/6569260"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705552007 {#4062
    date: 2024-01-18 05:26:47.0 +01: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
12 DENIED moderate
App\Entity\EntryComment {#4051
  +user: App\Entity\User {#4040 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-20 10:40:08.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-25 09:01:54.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687144409 {#271
        date: 2023-06-19 05:13:29.0 +02:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Simultaneous-joystick-3-axis-protocol"
    +title: "Simultaneous joystick 3-axis protocol"
    +url: null
    +body: """
      Working on a joystick. Seems like any protocol I use to read from peripherals is going to be bottlenecked by having just one input. My microcontroller might have multiple ADCs, but there’s just one processor stepping through them. Same for spi, or i2c, or uart. There’s really only ever one sensor reporting back its data at a time.\n
      \n
      I know this might not matter for measurement resolution. Especially if you’re polling at like 115k serial or something, but…\n
      \n
      That’s 8 bits per axis, and three axis. Now that’s at least 34 bits. To sample each axis we’re down to only 4.5k samples per second. Plus whatever other cycles the controller has to handle… even if I spent half that time doing microcontrolle cycles at like 2k we’re probably still well with the best star craft apms or whatever. I’d still like to find some way to really over engineer this thing.\n
      \n
      I read a little about tdm, but that’s out of my league and I don’t know if you could even have 3 simultaneously signals that way\n
      \n
      I’m thinking a microcontroller for each axis, and a usb port for each of them. So it appears like 3 different controllers to the computer. The user would just have to map the axis from the 3 controllers into 1 in their game software. I assume the steam remapping could do this.\n
      \n
      Is it just going to get smashed back into one thread in the computer’s usb hub anyway?\n
      \n
      Any other suggestions?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 2
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726402203 {#2414
      date: 2024-09-15 14:10:03.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 31399
    -titleTs: "'3':3 'axi':4 'joystick':2 'protocol':5 'simultan':1"
    -bodyTs: "'1':229 '115k':77 '2k':133 '3':184,209,226 '34':96 '4.5':107 '8':84 'adc':30 'anyway':259 'apm':144 'appear':207 'assum':235 'axi':87,90,101,196,223 'back':55,249 'best':141 'bit':85,97 'bottleneck':19 'comput':214,255 'control':117,211,227 'could':181,239 'craft':143 'cycl':115,130 'd':148 'data':57 'differ':210 'engin':158 'especi':70 'even':121,182 'ever':51 'find':152 'game':232 'get':247 'go':16,245 'half':125 'handl':120 'hub':258 'i2c':44 'input':24 'joystick':4 'k':108 'know':62,178 'leagu':173 'least':95 'like':6,76,132,150,208 'littl':164 'm':190 'map':221 'matter':66 'measur':68 'microcontrol':26,193 'microcontroll':129 'might':27,64 'multipl':29 'one':23,35,52,251 'per':86,110 'peripher':14 'plus':112 'poll':74 'port':200 'probabl':136 'processor':36 'protocol':8 're':73,103,135 'read':12,162 'realli':49,156 'remap':238 'report':54 'resolut':69 'sampl':99,109 'second':111 'seem':5 'sensor':53 'serial':78 'signal':186 'simultan':185 'smash':248 'softwar':233 'someth':80 'spent':124 'spi':42 'star':142 'steam':237 'step':37 'still':137,149 'suggest':262 'tdm':166 'thing':160 'think':191 'thread':252 'three':89 'time':60,127 'uart':46 'usb':199,257 'use':10 'user':216 'way':154,188 'well':138 'whatev':113,146 'work':1 'would':217"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705574416
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10852531"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705550416 {#1793
      date: 2024-01-18 05:00:16.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Only having one ADC can be an issue when you need readings to be in phase, but for reading any sort of human interface device it doesn’t matter at all. Just cycle through your inputs one at a time. Some microcontrollers even have hardware to scan through multiple inputs automatically. You can use DMA to read the ADC and send data out over whatever communication peripherals your microcontroller has without using much CPU time.\n
    \n
    If you are using USB HID, you are limited to a 1000 Hz update rate and that’s really overkill already. You can have up to 8 analog axis in a USB HID game controller plus lots of buttons.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1726402203 {#4057
    date: 2024-09-15 14:10:03.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@half_built_pyramids@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4056 …}
  +nested: Doctrine\ORM\PersistentCollection {#4055 …}
  +votes: Doctrine\ORM\PersistentCollection {#4046 …}
  +reports: Doctrine\ORM\PersistentCollection {#4049 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4044 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4042 …}
  -id: 318410
  -bodyTs: "'1000':87 '8':102 'adc':4,59 'alreadi':96 'analog':103 'automat':51 'axi':104 'button':114 'communic':66 'control':110 'cpu':74 'cycl':33 'data':62 'devic':25 'dma':55 'doesn':27 'even':43 'game':109 'hardwar':45 'hid':81,108 'human':23 'hz':88 'input':36,50 'interfac':24 'issu':8 'limit':84 'lot':112 'matter':29 'microcontrol':42,69 'much':73 'multipl':49 'need':11 'one':3,37 'overkil':95 'peripher':67 'phase':16 'plus':111 'rate':90 'read':12,19,57 'realli':94 'scan':47 'send':61 'sort':21 'time':40,75 'updat':89 'usb':80,107 'use':54,72,79 'whatev':65 'without':71"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/comment/6569260"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705552007 {#4062
    date: 2024-01-18 05:26:47.0 +01: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
13 DENIED edit
App\Entity\Magazine {#265
  +icon: Proxies\__CG__\App\Entity\Image {#246 …}
  +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 {#275
    date: 2024-10-20 10:40:08.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#237 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
  +entries: Doctrine\ORM\PersistentCollection {#180 …}
  +posts: Doctrine\ORM\PersistentCollection {#138 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
  +bans: Doctrine\ORM\PersistentCollection {#117 …}
  +reports: Doctrine\ORM\PersistentCollection {#103 …}
  +badges: Doctrine\ORM\PersistentCollection {#81 …}
  +logs: Doctrine\ORM\PersistentCollection {#71 …}
  +awards: Doctrine\ORM\PersistentCollection {#1346 …}
  +categories: Doctrine\ORM\PersistentCollection {#1823 …}
  -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 {#269
    date: 2024-09-25 09:01:54.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1687144409 {#271
    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