NicoSensorのNACK送信の修正

メールで、
NicoSensorのNACK送信が間違ってるとのご指摘を頂いたので、修正しました。
http://nicotak.com/robot/nxt/firm003.zip

具体的には、
スレーブアドレス(SLA)が間違っていたときNXT側へ返すNACKの論理が逆だったわけですが、
間違っていたときの話なので、普通に使ってるなら関係ありません。

ついでなので、ACK/NACK用の関数を追加しました。
「nxtsns.c」の修正部分です。

            if (slaw == MYSLA) {       // アドレスが一致の場合、
                i2c_write_ack();    // ACK送信
                break;
            } else {                   // アドレスが不一致の場合、
                i2c_write_nack();    // NACK送信
            }


「softi2cs.c」の追加部分です。

void i2c_write_ack(void)
{
   i2c_sda_low();
   i2c_scl_waith();
   i2c_scl_waitl();
}


void i2c_write_nack(void)
{
   i2c_sda_high();
   i2c_scl_waith();
   i2c_scl_waitl();
}