1
0
mirror of https://github.com/elua/elua.git synced 2025-01-25 01:02:54 +08:00

temporary single-channel buffers are per-channel, not per sequencer position

This commit is contained in:
James Snyder 2014-02-04 13:43:58 -06:00 committed by Bogdan Marinescu
parent 660b29e7a1
commit 9aa0d9fe85
6 changed files with 6 additions and 6 deletions

View File

@ -44,7 +44,7 @@ void adc_update_dev_sequence( unsigned dev_id )
{
s = adc_get_ch_state( id );
d->ch_state[ d->seq_ctr ] = s;
s->value_ptr = &( d->sample_buf[ d->seq_ctr ] );
s->value_ptr = &( d->sample_buf[ s->id ] );
s->value_fresh = 0;
if( s->id == previd )
tmp_seq_ctr = d->seq_ctr;

View File

@ -855,7 +855,7 @@ __attribute__((__interrupt__)) static void adc_int_handler()
if( adc_check_eoc( adc, s->id ) )
{
d->sample_buf[ d->seq_ctr ] = ( u16 )adc_get_value(adc, s->id );
d->sample_buf[ s->id ] = ( u16 )adc_get_value(adc, s->id );
s->value_fresh = 1;
if ( s->logsmoothlen > 0 && s->smooth_ready == 0)

View File

@ -878,7 +878,7 @@ void ADCIntHandler( void )
while( d->seq_ctr < d->seq_len )
{
s = d->ch_state[ d->seq_ctr ];
d->sample_buf[ d->seq_ctr ] = ( u16 )tmpbuff[ d->seq_ctr ];
d->sample_buf[ s->id ] = ( u16 )tmpbuff[ d->seq_ctr ];
s->value_fresh = 1; // Mark sample as fresh
// Fill in smoothing buffer until warmed up

View File

@ -465,7 +465,7 @@ void ADC_IRQHandler(void)
if ( ADC_ChannelGetStatus( LPC_ADC, s->id, ADC_DATA_DONE ) )
{
d->sample_buf[ d->seq_ctr ] = ( u16 )ADC_ChannelGetData( LPC_ADC, s->id );
d->sample_buf[ s->id ] = ( u16 )ADC_ChannelGetData( LPC_ADC, s->id );
s->value_fresh = 1;
if ( s->logsmoothlen > 0 && s->smooth_ready == 0)

View File

@ -607,7 +607,7 @@ static void adc_int_handler()
dreg_t = *( PREG )adc_dr[ s->id ];
if ( dreg_t & ( 1UL << 31 ) )
{
d->sample_buf[ d->seq_ctr ] = ( u16 )( ( dreg_t >> 6 ) & 0x3FF );
d->sample_buf[ s->id ] = ( u16 )( ( dreg_t >> 6 ) & 0x3FF );
AD0CR &= 0xF8FFFF00; // stop ADC, disable channels
s->value_fresh = 1;

View File

@ -506,7 +506,7 @@ void ADC_IRQHandler( void )
while( d->seq_ctr < d->seq_len )
{
s = d->ch_state[ d->seq_ctr ];
d->sample_buf[ d->seq_ctr ] = ( u16 )ADC_GetConversionValue( s->id );
d->sample_buf[ s->id ] = ( u16 )ADC_GetConversionValue( s->id );
s->value_fresh = 1;
// Fill in smoothing buffer until warmed up