Lines Matching defs:sc

51 sunms_attach(struct sunms_softc *sc, const struct wsmouse_accessops *ao)
58 sc->sc_state = STATE_PROBING;
59 sc->sc_bps = INIT_SPEED;
60 timeout_set(&sc->sc_abort_tmo, sunms_abort_input, sc);
68 getmicrotime(&sc->sc_lastbpschange);
71 a.accesscookie = sc;
72 sc->sc_wsmousedev = config_found(&sc->sc_dev, &a, wsmousedevprint);
79 struct sunms_softc *sc = v;
98 sunms_speed_change(struct sunms_softc *sc)
102 switch (sc->sc_bps) {
116 printf("%s: %d bps\n", sc->sc_dev.dv_xname, bps);
118 microtime(&sc->sc_lastbpschange);
120 (*sc->sc_speed_change)(sc, bps);
121 sc->sc_state = STATE_PROBING;
122 sc->sc_bps = bps;
123 sc->sc_brk = 0;
124 timeout_del(&sc->sc_abort_tmo);
131 sunms_input(struct sunms_softc *sc, int c)
135 if (sc->sc_wsmousedev == NULL)
138 if (sc->sc_state == STATE_RATE_CHANGE)
147 if (sc->sc_state == STATE_PROBING) {
149 timersub(&curtime, &sc->sc_lastbpschange, &curtime);
152 sc->sc_state = STATE_DECODING;
153 sc->sc_byteno = -1;
165 if (sc->sc_byteno < 0) {
167 sc->sc_byteno = 0;
172 switch (sc->sc_byteno) {
181 sc->sc_pktlen = ISSET(c, 0x08) ? 3 : 5;
182 sc->sc_mb = 0;
184 sc->sc_mb |= 1 << 0;
186 sc->sc_mb |= 1 << 1;
188 sc->sc_mb |= 1 << 2;
189 sc->sc_byteno++;
200 timeout_add_msec(&sc->sc_abort_tmo, 100);
210 sc->sc_dx += (int8_t)c;
211 sc->sc_byteno++;
215 sc->sc_dy += (int8_t)c;
216 sc->sc_byteno++;
220 if (sc->sc_byteno == sc->sc_pktlen) {
221 timeout_del(&sc->sc_abort_tmo);
222 sc->sc_byteno = -1;
223 WSMOUSE_INPUT(sc->sc_wsmousedev,
224 sc->sc_mb, sc->sc_dx, sc->sc_dy, 0, 0);
225 sc->sc_dx = sc->sc_dy = 0;
232 struct sunms_softc *sc = v;
239 sc->sc_byteno = -1;