@@ -153,11 +153,11 @@ void twi_init(unsigned char sda, unsigned char scl)
153
153
twi_scl = scl ;
154
154
pinMode (twi_sda , INPUT_PULLUP );
155
155
pinMode (twi_scl , INPUT_PULLUP );
156
- pinMode (2 , OUTPUT );
157
- pinMode (12 , OUTPUT );
158
- pinMode (14 , OUTPUT );
159
- pinMode (13 , OUTPUT );
160
- digitalWrite (2 , HIGH );
156
+ // pinMode(2, OUTPUT);
157
+ // pinMode(12, OUTPUT);
158
+ // pinMode(14, OUTPUT);
159
+ // pinMode(13, OUTPUT);
160
+ // digitalWrite(2, HIGH);
161
161
twi_setClock (100000 );
162
162
twi_setClockStretchLimit (230 ); // default value is 230 uS
163
163
@@ -396,20 +396,20 @@ void ICACHE_RAM_ATTR twi_releaseBus(void)
396
396
397
397
void ICACHE_RAM_ATTR onTimer (void * timer_arg )
398
398
{
399
- digitalWrite (13 , HIGH );
399
+ // digitalWrite(13, HIGH);
400
400
twi_releaseBus ();
401
401
//ets_timer_disarm(&timer);
402
402
403
403
twip_status = TW_BUS_ERROR ;
404
404
twi_onTwipEvent (twip_status );
405
405
twip_mode = TWIPM_WAIT ;
406
406
twip_state = TWIP_BUS_ERR ;
407
- digitalWrite (13 , LOW );
407
+ // digitalWrite(13, LOW);
408
408
}
409
409
410
410
static void eventTask (ETSEvent * e )
411
411
{
412
- digitalWrite (14 , HIGH );
412
+ // digitalWrite(14, HIGH);
413
413
414
414
if (e == NULL ) {
415
415
return ;
@@ -432,17 +432,18 @@ static void eventTask(ETSEvent *e)
432
432
break ;
433
433
434
434
case TWI_SIG_RX :
435
+ // ack future responses and leave slave receiver state
435
436
twi_releaseBus ();
436
437
twi_onSlaveReceive (twi_rxBuffer , e -> par );
437
438
break ;
438
439
}
439
440
440
- digitalWrite (14 , LOW );
441
+ // digitalWrite(14, LOW);
441
442
}
442
443
443
444
void ICACHE_RAM_ATTR twi_onTwipEvent (uint8_t status )
444
445
{
445
- digitalWrite (13 , HIGH );
446
+ // digitalWrite(13, HIGH);
446
447
//switch(TW_STATUS){
447
448
switch (status ) {
448
449
#if 0
@@ -544,14 +545,11 @@ void ICACHE_RAM_ATTR twi_onTwipEvent(uint8_t status)
544
545
}
545
546
break ;
546
547
case TW_SR_STOP : // stop or repeated start condition received
547
- // ack future responses and leave slave receiver state
548
- //BH twi_releaseBus();
549
548
// put a null char after data if there's room
550
549
if (twi_rxBufferIndex < TWI_BUFFER_LENGTH ){
551
550
twi_rxBuffer [twi_rxBufferIndex ] = '\0' ;
552
551
}
553
- // callback to user defined callback
554
- //twi_onSlaveReceive(twi_rxBuffer, twi_rxBufferIndex);
552
+ // callback to user-defined callback over event task to allow for non-RAM-residing code
555
553
//twi_rxBufferLock = true; // This may be necessary
556
554
ets_post (EVENTTASK_QUEUE_PRIO , TWI_SIG_RX , twi_rxBufferIndex );
557
555
@@ -574,22 +572,13 @@ void ICACHE_RAM_ATTR twi_onTwipEvent(uint8_t status)
574
572
twi_txBufferIndex = 0 ;
575
573
// set tx buffer length to be zero, to verify if user changes it
576
574
twi_txBufferLength = 0 ;
575
+ // callback to user-defined callback over event task to allow for non-RAM-residing code
577
576
// request for txBuffer to be filled and length to be set
578
577
// note: user must call twi_transmit(bytes, length) to do this
579
- //twi_onSlaveTransmit();
580
578
ets_post (EVENTTASK_QUEUE_PRIO , TWI_SIG_TX , 0 );
581
-
582
- // if they didn't change buffer & length, initialize it
583
- if (false) { //0 == twi_txBufferLength){
584
- twi_txBufferLength = 1 ;
585
- twi_txBuffer [0 ] = 0x00 ;
586
- }
587
- else
588
- {
589
- break ;
590
- }
591
- // transmit first byte from buffer, fall
592
- case TW_ST_DATA_ACK : // byte sent, ack returned
579
+ break ;
580
+
581
+ case TW_ST_DATA_ACK : // byte sent, ack returned
593
582
// copy data to output register
594
583
TWDR = twi_txBuffer [twi_txBufferIndex ++ ];
595
584
@@ -619,7 +608,7 @@ void ICACHE_RAM_ATTR twi_onTwipEvent(uint8_t status)
619
608
twi_stop ();
620
609
break ;
621
610
}
622
- digitalWrite (13 , LOW );
611
+ // digitalWrite(13, LOW);
623
612
}
624
613
625
614
void ICACHE_RAM_ATTR onSclChange (void )
@@ -633,7 +622,7 @@ void ICACHE_RAM_ATTR onSclChange(void)
633
622
sda = SDA_READ ();
634
623
scl = SCL_READ ();
635
624
636
- digitalWrite (12 , scl );
625
+ // digitalWrite(12, scl);
637
626
//digitalWrite(14, LOW);
638
627
639
628
twip_status = 0xF8 ; // reset TWI status
@@ -793,7 +782,7 @@ void ICACHE_RAM_ATTR onSdaChange(void)
793
782
sda = SDA_READ ();
794
783
scl = SCL_READ ();
795
784
796
- digitalWrite (2 , sda );
785
+ // digitalWrite(2, sda);
797
786
798
787
switch (twip_state )
799
788
{
@@ -806,9 +795,9 @@ void ICACHE_RAM_ATTR onSdaChange(void)
806
795
// START
807
796
bitCount = 8 ;
808
797
twip_state = TWIP_START ;
809
- digitalWrite (14 , HIGH );
798
+ // digitalWrite(14, HIGH);
810
799
ets_timer_arm_new (& timer , twi_timeout_ms , false, true); // Once, ms
811
- digitalWrite (14 , LOW );
800
+ // digitalWrite(14, LOW);
812
801
}
813
802
break ;
814
803
0 commit comments