+ endcase
+ end
+
+ if ((rx_state == 0) && (serialrx == 0) /*&& (rx_hasdata == 0)*/) /* Kick off. */
+ rx_state <= 4'b0001;
+ else if ((rx_state != 4'b0000) && (rx_clkdiv == 0)) begin
+ if (rx_state != 4'b1010)
+ rx_state <= rx_state + 1;
+ else
+ rx_state <= 0;
+ case (rx_state)
+ 4'b0001: begin end /* Twiddle thumbs -- this is the end of the half bit. */
+ 4'b0010: rx_data[0] <= serialrx;
+ 4'b0011: rx_data[1] <= serialrx;
+ 4'b0100: rx_data[2] <= serialrx;
+ 4'b0101: rx_data[3] <= serialrx;
+ 4'b0110: rx_data[4] <= serialrx;
+ 4'b0111: rx_data[5] <= serialrx;
+ 4'b1000: rx_data[6] <= serialrx;
+ 4'b1001: rx_data[7] <= serialrx;
+ 4'b1010: begin end /* Expect a 1 */