![](/media/cache/profiles/4b0986230d9d7aded7f0c24033d221d4.jpg.50x50_q85.jpg)
Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.
CtrlBridge
- fonction quelquonque pour communiquer avec les module
- fonction quelquonque pour faire des recherche dans les module dispo
- autre fonction pour jouer avec MemRegistre
Version 1.2.0
- Ajout d'un mode de simulation pour tester le code avec seulement un contrôleur stm32
Diff: source/ComSpi.cpp
- Revision:
- 9:7295385f02b2
- Parent:
- 7:dcfd81d7f93f
- Child:
- 10:7e6aeaebe1a2
--- a/source/ComSpi.cpp Thu Mar 19 14:53:25 2015 +0000 +++ b/source/ComSpi.cpp Thu Mar 19 19:14:31 2015 +0000 @@ -24,6 +24,7 @@ } void ComSpi::change_demux(void) { + if(demuxIsUse) { DigitalOut pinDemuxA(m_demuxA); DigitalOut pinDemuxB(m_demuxB); DigitalOut pinDemuxC(m_demuxC); @@ -42,6 +43,7 @@ else pinDemuxD=0; pinDemuxEnable=1; + } } int ComSpi::write(int value) { @@ -49,24 +51,26 @@ a= SPI::write(value); return a; } -bool ComSpi::next_demux(void) +char ComSpi::next_demux(void) { - bool result=false; + char result = (char)-1; if(demuxIsUse) { (m_demuxPos == 15)? m_demuxPos=0:m_demuxPos++; change_demux(); + result = m_demuxPos; result = true; } return result; } -bool ComSpi::back_demux(void) +char ComSpi::back_demux(void) { - bool result=false; - + char result = (char)-1; + if(demuxIsUse) { (m_demuxPos == 0)? m_demuxPos=15:m_demuxPos--; change_demux(); + result = true; } return result; @@ -77,6 +81,11 @@ int valueSend = SYNC; int valueReceive=0; //int CRC + + if(portID =! -1){ + m_demuxPos = portID; + change_demux(); + } valueReceive=write(valueSend); if(valueReceive == valueSend) {