Leaderboard
Popular Content
Showing content with the highest reputation on 04/01/2020 in all areas
-
Hello some update were made on the dokuwiki ;) dipCoreF4 A reduced Core for your MIDIbox App, an STM32F405RG in a DIP40 format. Features MIOS32 uses same processor family and drivers(no deep change). Same internal hardware as Disco or wCore (speed, memory, peripherals, etc…) . Board pinout and package compatible with a MIOS8 PIC USB connector onboard. 2 OTG are available, second(new) USB is Host only. 5V power input and led. 3.3V regulator and led on board. 74HCT541 on board for the 5V output ports. User and Reset buttons. 2 user leds. 12 extra pins for USB, buttons and leds. Your favorite Core is now a current component easy to integrate. All commons MIOS32 ports are available except: General purpose J10x ports were removed. LCD port was reduced to a serial one, no more pins J15.D0-D7 , no back-light power supply. 2 UART only(2 MIDI In/2Out). 2 AIN channels only(e.g. pedal inputs). SPI slave only supported by J19(SPI3). Check the dipBoardF4 for more details Download dipCoreF4 eagle lib for easy integration in your design. dipcoref4_v2a.zip Pinout The dipCoreF4 and the legacy MIOS32 ports. Check dipBoardF4 for more details about the connectors. BOM Due to the small SMD, which is sometime a difficulty to solder, the board is already assembled by manufacturer, except the connectors. The mini-USB is optional. Qty Value Package Parts Mouser Reichelt Conrad LCSC Notes Headers 3 1*20 male 437-3501012000006101 No Adapted to sockets Mill-Max 0552-1-15-01-11-27-10-0 or 0553-1-15-15-11-27-10-0 Connnector 1 mini-USB THT USB 571-1734510-1 no! for other ref take care about restricted area!2 points
-
Hi Mike, There's no "switch" or define for this. It was made like this to match the old PIC DOUT pinout. ///////////////////////////////////////////////////////////////////////////// //! temporary help array to mirror a byte //! (could be provided as MIOS32 help function later) ///////////////////////////////////////////////////////////////////////////// // DOUT bits are uploaded in reversed order compared to PIC based MIOS, and // especially compared to the order on DIN registers // Most applications would have to convert this - therefore it's already done // by MIOS32_DOUT_* functions // mirroring could work with: // u8 mirror_u8(u8 b) // { return ((b&0x01)<<7) | ((b&0x02)<<5) | ((b&0x04)<<3) | ((b&0x08)<<1) | ((b&0x10)>>1) | ((b&0x20)>>3) | ((b&0x40)>>5) | ((b&0x80)>>7); } // bit this would be a bit slow, e.g. for SR copy routines - therefore we use a table based approached: // the table has been generated with: // perl -e 'for($b=0; $b<256; ++$b) { printf("0x%02x,", (($b&0x01)<<7) | (($b&0x02)<<5) | (($b&0x04)<<3) | (($b&0x08)<<1) | (($b&0x10)>>1) | (($b&0x20)>>3) | (($b&0x40)>>5) | (($b&0x80)>>7)); }; printf("\n");' const u8 mios32_dout_reverse_tab[256] = { 0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90,0x50,0xd0,0x30,0xb0,0x70,0xf0, 0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98,0x58,0xd8,0x38,0xb8,0x78,0xf8, 0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94,0x54,0xd4,0x34,0xb4,0x74,0xf4, 0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c,0x5c,0xdc,0x3c,0xbc,0x7c,0xfc, 0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92,0x52,0xd2,0x32,0xb2,0x72,0xf2, 0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a,0x5a,0xda,0x3a,0xba,0x7a,0xfa, 0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96,0x56,0xd6,0x36,0xb6,0x76,0xf6, 0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e,0x5e,0xde,0x3e,0xbe,0x7e,0xfe, 0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91,0x51,0xd1,0x31,0xb1,0x71,0xf1, 0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99,0x59,0xd9,0x39,0xb9,0x79,0xf9, 0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95,0x55,0xd5,0x35,0xb5,0x75,0xf5, 0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d,0x5d,0xdd,0x3d,0xbd,0x7d,0xfd, 0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93,0x53,0xd3,0x33,0xb3,0x73,0xf3, 0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b,0x5b,0xdb,0x3b,0xbb,0x7b,0xfb, 0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97,0x57,0xd7,0x37,0xb7,0x77,0xf7, 0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f,0x5f,0xdf,0x3f,0xbf,0x7f,0xff }; This helper was not implemented. And the problem is that MIOS32_DOUT_SR_xx use this array but not the MIOS32_DOUT_Pin_xx But you use the right method ;) except that it works only for pin 0 to 7. If you want to do it on all the pins you have to include the SR number just implent something like this. e.g. u32 PIN_REVERT(u32 pin) { u8 num_sr = pin>>3; // divide by 8 pin %=8; // modulo by 8 return (u32)((num_sr<<3) + (7-pin)); } then use it: MIOS32_DOUT_PinSet(PIN_REVERT(pin), value);1 point
-
1 point