Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 18:6196688e2a94, committed 2021-05-16
- Comitter:
- bosko001
- Date:
- Sun May 16 22:01:47 2021 +0200
- Parent:
- 17:f99cdfd01d4e
- Commit message:
- korigovan PeripheralPins.c u mbedOS
Changed in this revision
--- a/Pinovi.h Sat May 15 13:59:57 2021 +0200 +++ b/Pinovi.h Sun May 16 22:01:47 2021 +0200 @@ -4,8 +4,8 @@ #define BROADCASTADDRESS (unsigned char)0xc0 -//#define FRDMK22F -#define FRDMK64F +#define FRDMK22F +//#define FRDMK64F #ifdef FRDMK64F @@ -67,7 +67,7 @@ #define Led_mosi PTD6 #define Led_miso PTD7 -#define Led_sclk PTD8 +#define Led_sclk PTD5 #define Led_cs PTA1 // C_spiled::C_spiled():C_spi( PTD2, PTD3, PTD1, PTC4)//, C_thread() //C_spi( PinName mosi, PinName miso, PinName sclk, PinName pin_csdata ); @@ -77,7 +77,7 @@ #define Mosi PTD2 #define Miso PTD3 #define SpiClock PTD1 -#define SpiSel PTD4 +#define SpiSel PTD4 /*PTD0*/ #define SpiSel_out PTA5 #define IO_TELEGRAM_TAS_PIN PTC4
--- a/SPIledovi/LedLight.cpp Sat May 15 13:59:57 2021 +0200 +++ b/SPIledovi/LedLight.cpp Sun May 16 22:01:47 2021 +0200 @@ -11,8 +11,8 @@ C_spi::C_spi( PinName mosi, PinName miso, PinName sclk, PinName pin_csdata ): SPI( mosi, miso, sclk) //SPI( PTD2, PTD3, PTD1 ) { p_csdata = new DigitalOut( pin_csdata,1); - format( 16, 0); - frequency(10000000); + format( 16, 0); + frequency(10000000); } unsigned short C_spi::transfer( unsigned short tx ) { @@ -107,14 +107,14 @@ { static char j=1; - set_led( 1, (E_ledColor)( (get_ledLightTickPatern(1) & j) ? ((get_ledLightColor(1))) : 0 ) ); - set_led( 2, (E_ledColor)( (get_ledLightTickPatern(2) & j) ? ((get_ledLightColor(2))) : 0 ) ); - set_led( 3, (E_ledColor)( (get_ledLightTickPatern(3) & j) ? ((get_ledLightColor(3))) : 0 ) ); - set_led( 4, (E_ledColor)( (get_ledLightTickPatern(4) & j) ? ((get_ledLightColor(4))) : 0 ) ); - set_led( 5, (E_ledColor)( (get_ledLightTickPatern(5) & j) ? ((get_ledLightColor(5))) : 0 ) ); - set_led( 6, (E_ledColor)( (get_ledLightTickPatern(6) & j) ? ((get_ledLightColor(6))) : 0 ) ); + set_led( 1, (E_ledColor)( (get_ledLightTickPatern(1) & j) ? ((get_ledLightColor(1))) : 0 ) ); + set_led( 2, (E_ledColor)( (get_ledLightTickPatern(2) & j) ? ((get_ledLightColor(2))) : 0 ) ); + set_led( 3, (E_ledColor)( (get_ledLightTickPatern(3) & j) ? ((get_ledLightColor(3))) : 0 ) ); + set_led( 4, (E_ledColor)( (get_ledLightTickPatern(4) & j) ? ((get_ledLightColor(4))) : 0 ) ); + set_led( 5, (E_ledColor)( (get_ledLightTickPatern(5) & j) ? ((get_ledLightColor(5))) : 0 ) ); + set_led( 6, (E_ledColor)( (get_ledLightTickPatern(6) & j) ? ((get_ledLightColor(6))) : 0 ) ); - do_Sifter(); + do_Sifter(); if( !(j<<=1) ) j = 1;
--- a/SPIledovi/LedLight.h Sat May 15 13:59:57 2021 +0200 +++ b/SPIledovi/LedLight.h Sun May 16 22:01:47 2021 +0200 @@ -80,7 +80,7 @@ // klasa osvezavanja prikaza funkcija. Aktivira sopstveni C_thread i periodicno salje novo stanje ledova -class C_ledLight: public C_spiled, C_thread +class C_ledLight : public C_thread, public C_spiled { char tickCounter =1; S_ledLight s_ledLight[NO_LED] = {{ledOff,0},{ledOff,0},{ledOff,0},{ledOff,0},{ledOff,0},{ledOff,0}}; @@ -89,7 +89,7 @@ virtual void _refresh( void); - void thread_fun(void) override { _refresh(); } + void thread_fun(void) override { _refresh(); } C_ledLight( );// { } C_ledLight( int stack );//:C_thread( stack) { }
--- a/SPIledovi/ledControl.h Sat May 15 13:59:57 2021 +0200 +++ b/SPIledovi/ledControl.h Sun May 16 22:01:47 2021 +0200 @@ -85,7 +85,7 @@ while( true ) { - pc_data->set_address( (C_spiled::get_received()>>8) & 0x0f); + pc_data->set_address( (/*C_spiled::*/get_received()>>8) & 0x0f); // ledG = 0; // if(pf != nullptr) { pf(); ledG = ! ledG; } if( e_ledView == komanda ) { set_ledPort(pc_data->get_command_uncut()); }
--- a/SPIprotokol/SlaveSpi.h Sat May 15 13:59:57 2021 +0200 +++ b/SPIprotokol/SlaveSpi.h Sun May 16 22:01:47 2021 +0200 @@ -32,46 +32,46 @@ public: -static int spiReadRegister( int ar ){ return *(int*)( _SPI_BASE + ar);} -static void spiWriteRegister( int ar, int d ){ *(int*)( _SPI_BASE + ar) = d;} + static int spiReadRegister( int ar ){ return *(int*)( _SPI_BASE + ar);} + static void spiWriteRegister( int ar, int d ){ *(int*)( _SPI_BASE + ar) = d;} -static void inic_slaveSpi( void ) -{ - NVIC_DisableIRQ( _SPI_IRQn ); - _CS = 1; - wait_us(10); - _CS = 0; - spiWriteRegister(0, spiReadRegister(0) | 0x3c00); /* 0x00000C00 = ciscenje rx i tx buffer-a*/ - spiWriteRegister(0x2c, spiReadRegister(0x2c) | 0x80000000); /* TCF clear */ - spiWriteRegister(0x30, spiReadRegister(0x30) | 0x80000000); /* transfer interrupt enable */ + static void inic_slaveSpi( void ) + { + NVIC_DisableIRQ( _SPI_IRQn ); + _CS = 1; + wait_us(10); + _CS = 0; + spiWriteRegister(0, spiReadRegister(0) | 0x3c00); /* 0x00000C00 = ciscenje rx i tx buffer-a*/ + //! spiWriteRegister(0x2c, spiReadRegister(0x2c) | 0x80000000); /* TCF clear */ + //! spiWriteRegister(0x30, spiReadRegister(0x30) | 0x80000000); /* transfer interrupt enable */ + + spiWriteRegister(0x34, writeData); /* data for transmit */ + } - spiWriteRegister(0x34, writeData); /* data for transmit */ -} - -static void ff(void ) -{ - if( ( spiReadRegister(0x2c)) & 0x80000000 ) + static void ff(void ) { - spiWriteRegister(0x2c, spiReadRegister(0x2c) | 0x80000000); - readData = spiReadRegister(0x38); /* data register read */ - spiWriteRegister(0x34, writeData); /* data for transmit */ - + if( ( spiReadRegister(0x2c)) & 0x80000000 ) + { + spiWriteRegister(0x2c, spiReadRegister(0x2c) | 0x80000000); + readData = spiReadRegister(0x38); /* data register read */ + spiWriteRegister(0x34, writeData); /* data for transmit */ - _transferFlag = 1; - ef.set(1); + + _transferFlag = 1; + ef.set(1); + } + + // else { ledG =! ledG; inic_slaveSpi( ); set_slaveSpiInterrupt(ff);} + // ledC =! ledC; + // spiByteTransfer( &writeData, readData ); } - // else { ledG =! ledG; inic_slaveSpi( ); set_slaveSpiInterrupt(ff);} - // ledC =! ledC; -// spiByteTransfer( &writeData, readData ); -} + static void set_slaveSpiInterrupt( pfv p_fun ) + { + NVIC_SetVector( _SPI_IRQn, (int)p_fun ); // varijanta sa static ff() + NVIC_EnableIRQ( _SPI_IRQn ); -static void set_slaveSpiInterrupt( pfv p_fun ) -{ - NVIC_SetVector( _SPI_IRQn, (int)p_fun ); // varijanta sa static ff() - NVIC_EnableIRQ( _SPI_IRQn ); - -} + } // class C_slaveSpi: SPISlave, C_thread // { @@ -123,7 +123,11 @@ char get_bitCount( void ) { return bitCount;} - void clear_bitCount( void ) { /*ledG =! ledG;*/ bitCount = 0; inic_slaveSpi( ); set_slaveSpiInterrupt(ff);} + void clear_bitCount( void ) { /*ledG =! ledG;*/ + bitCount = 0; + inic_slaveSpi( ); + set_slaveSpiInterrupt(ff); + } void spi_monitor( void ){};
--- a/main.cpp Sat May 15 13:59:57 2021 +0200 +++ b/main.cpp Sun May 16 22:01:47 2021 +0200 @@ -44,22 +44,22 @@ class C_data c_data; -C_ledControl c_ledControl(&c_data);//( &c_ledLight); + C_ledControl c_ledControl(&c_data);//( &c_ledLight); -C_spiProtokol c_spiProtokol( &c_data, &c_ledControl ); + C_spiProtokol c_spiProtokol( &c_data, &c_ledControl ); -C_zeroCrossing c_zeroCrossing( &c_data); + C_zeroCrossing c_zeroCrossing( &c_data); -C_zeroCrossing& rc_zc = c_zeroCrossing; +// C_zeroCrossing& rc_zc = c_zeroCrossing; -C_zcControl c_zcControl( &c_zeroCrossing, &c_spiProtokol); +// C_zcControl c_zcControl( &c_zeroCrossing, &c_spiProtokol); -C_ZC_CommandIndication c_zc_ci( &c_data, &c_zeroCrossing); + C_ZC_CommandIndication c_zc_ci( &c_data, &c_zeroCrossing); //Ticker test_RasaLed; @@ -75,61 +75,63 @@ printf("\n\n\r ____________ POCETAK IOboard_______________\n\r"); -s_log.resize(1000); -s_log.clear(); +// s_log.resize(1000); +// s_log.clear(); -printf( " capacity %d max_size %d size %d\n\r", s_log.capacity(), s_log.max_size(), s_log.size()); +// printf( " capacity %d max_size %d size %d\n\r", s_log.capacity(), s_log.max_size(), s_log.size()); -//test_RasaLed.attach_us([=]{ RasaLed = !RasaLed;}, 500000 ); +// //test_RasaLed.attach_us([=]{ RasaLed = !RasaLed;}, 500000 ); -int b = b2; +// int b = b2; - /* konzolu napraciti kao klasu koja nasledjuje C_thread klasu */ - extern void consolafun( void ); +// /* konzolu napraciti kao klasu koja nasledjuje C_thread klasu */ +// extern void consolafun( void ); - Thread th_consola; - th_consola.start( consolafun); +// Thread th_consola; +// th_consola.start( consolafun); - /* cekanje da se procita prva ispravna adresa sa dip switch-a */ +// /* cekanje da se procita prva ispravna adresa sa dip switch-a */ - do { ThisThread::sleep_for(10ms);;c_spiProtokol.inic_address( ); } - while ( c_data.get_address() == 0 ); - printf(" adresa je = %d\n\r", c_data.get_address()); +// do { ThisThread::sleep_for(10ms);;c_spiProtokol.inic_address( ); } +// while ( c_data.get_address() == 0 ); +// printf(" adresa je = %d\n\r", c_data.get_address()); - // postavljanje sopstvene adrese i prikaz na ledovima - c_spiProtokol.set_myAddress(c_data.get_address()); - c_ledControl.set_colorTemplate_Green(); - c_ledControl.set_ledView(adresa); +// // postavljanje sopstvene adrese i prikaz na ledovima +// c_spiProtokol.set_myAddress(c_data.get_address()); +// c_ledControl.set_colorTemplate_Green(); +// c_ledControl.set_ledView(adresa); - while (true) - { +// while (true) +// { - if( b!= b2) - { - b = b2; - if( b ) { ledB = 1;} - else { ledB = 0; //printf( " bitCount = %d, byteCount = %d\n\r", c_spiProtokol.get_bitCount(), c_spiProtokol.get_byteCount()); +// if( b!= b2) +// { +// b = b2; +// if( b ) { ledB = 1;} +// else { ledB = 0; //printf( " bitCount = %d, byteCount = %d\n\r", c_spiProtokol.get_bitCount(), c_spiProtokol.get_byteCount()); - printf( " zerocrossing timer on = %d off = %d \n\r", c_zeroCrossing.get_zcTimeON(), c_zeroCrossing.get_zcTimeOFF()); - // printf(" port in %x\n\r", rc_zc.s_portinMin.get_port() ); - printf(" adresa je = %d\n\r", c_data.get_address()); - } - } +// printf( " zerocrossing timer on = %d off = %d \n\r", c_zeroCrossing.get_zcTimeON(), c_zeroCrossing.get_zcTimeOFF()); +// // printf(" port in %x\n\r", rc_zc.s_portinMin.get_port() ); +// printf(" adresa je = %d\n\r", c_data.get_address()); +// } +// } - c_spiProtokol.spi_monitor(); +// c_spiProtokol.spi_monitor(); - thread_sleep_for(BLINKING_RATE_MS); - } -} +// thread_sleep_for(BLINKING_RATE_MS); +// } + +while(1); + } @@ -182,4 +184,5 @@ ThisThread::yield(); thread_sleep_for(100); } + }
--- a/mbed-os.lib Sat May 15 13:59:57 2021 +0200 +++ b/mbed-os.lib Sun May 16 22:01:47 2021 +0200 @@ -1,1 +1,1 @@ -https://github.com/ARMmbed/mbed-os/#890f0562dc2efb7cf76a5f010b535c2b94bce849 \ No newline at end of file +https://github.com/ARMmbed/mbed-os/#9738b27c7df897c29e9769911d6794ba3e5b3f19 \ No newline at end of file